安排的功能,下面的代码一致产生我R系统3.2.2上崩溃:为什么这个“段错误”与dplyr R中
> R.version
_
platform i486-slackware-linux-gnu
arch i486
os linux-gnu
system i486, linux-gnu
status
major 3
minor 2.2
year 2015
month 08
day 14
svn rev 69053
language R
version.string R version 3.2.2 (2015-08-14)
nickname Fire Safety
> lll = list(list(5,3,4), list(5,3,7), list(6,2,1), list(6,1,3), list(5,2,1))
> dd = data.frame(do.call(rbind, lll))
> dd
X1 X2 X3
1 5 3 4
2 5 3 7
3 6 2 1
4 6 1 3
5 5 2 1
> dplyr::arrange(dd, X1)
*** caught segfault ***
address (nil), cause 'memory not mapped'
Traceback:
1: .Call("dplyr_arrange_impl", PACKAGE = "dplyr", data, dots)
2: arrange_impl(.data, dots)
3: arrange_.tbl_df(tbl_df(.data), .dots = dots)
4: arrange_(tbl_df(.data), .dots = dots)
5: as.data.frame(arrange_(tbl_df(.data), .dots = dots))
6: arrange_.data.frame(.data, .dots = lazyeval::lazy_dots(...))
7: arrange_(.data, .dots = lazyeval::lazy_dots(...))
8: dplyr::arrange(dd, X1)
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
这是为什么崩溃发生,我该如何纠正呢?
你是怎么安装dplyr的? – zwol
如果您检查'str(dd)',列仍然是'list'。 'lll'是一个嵌套列表。你可能需要'dd < - data.frame(do.call(rbind,lapply(lll,unlist)))' – akrun
将'lll'转换为数据框的最佳方法是什么? – rnso