Каждый раз, когда я пытаюсь запустить построчную итерируемую функцию вместе с mutate_at
, мой сеанс Rstudio завершается с ошибкой FATAL
. Пожалуйста, смотрите прикрепленный скриншот.
Я сократил свою ошибку до минимального примера ниже:
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