R - RStudio при использовании настраиваемой итерируемой функции с `mutate_at ()` - PullRequest
0 голосов
/ 20 марта 2020

Каждый раз, когда я пытаюсь запустить построчную итерируемую функцию вместе с mutate_at, мой сеанс Rstudio завершается с ошибкой FATAL. Пожалуйста, смотрите прикрепленный скриншот. enter image description here

Я сократил свою ошибку до минимального примера ниже:

library(tidyverse)

.extract_vector_val = function(vec_str){
    # Base index
    base_ind = vec_str %>% 
        str_extract(".+?(?=:)") %>% 
        as.numeric()

    # Final Index
    final_ind = vec_str %>% 
        str_extract("(?<=:).*") %>% 
        as.numeric()

    # Define vec
    vector = seq(base_ind, final_ind, by=1)
    vector
}


tibble(
    x_1 = c("1:10", "1:5"),
    x_2 = c("1:10", "2:3")
) %>% 
    rowwise() %>% 
    mutate_at(vars(starts_with("x_")), .extract_vector_val)

Я ожидаю, что окончательное выражение вернет tibble() с x_1 и x_2, являющимися столбцами типа list(). Тем не менее, RStudio решил взломать sh каждый раз: (

Я также предоставил свой sessionInfo():

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.6

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.5.1 tools_3.5.1    yaml_2.2.0   

Если я запускаю этот код с terminal с:

$ Rscript test.R

Я получаю ошибку *** caught segfault ***.

Выражается ниже:

 *** caught segfault ***
address 0x0, cause 'unknown'

Traceback:
 1: mutate_impl(.data, dots, caller_env())
 2: mutate.tbl_df(.tbl, !!!funs)
 3: mutate(.tbl, !!!funs)
 4: mutate_at(., vars(starts_with("x_")), .extract_vector_val)
 5: function_list[[k]](value)
 6: withVisible(function_list[[k]](value))
 7: freduce(value, `_function_list`)
 8: `_fseq`(`_lhs`)
 9: eval(quote(`_fseq`(`_lhs`)), env, env)
10: eval(quote(`_fseq`(`_lhs`)), env, env)
11: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
12: tibble(x_1 = c("1:10", "1:5"), x_2 = c("1:10", "2:3")) %>% rowwise() %>%     mutate_at(vars(starts_with("x_")), .extract_vector_val)
An irrecoverable exception occurred. R is aborting now ...
Segmentation fault: 11
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...