下面的代码运行正常
library(data.table)
dt <- data.table(mtcars)[,.(cyl, gear, mpg)]
colsToSum <- c("cyl", "gear", "mpg")
dt[, F15_49 := rowSums(.SD), .SDcols = colsToSum]
但此版本在RStudio中使R崩溃,并显示消息"R会话已中止。R遇到致命错误。会话已终止。“然后是Start New Session按钮。崩溃的代码片段是
ageColsToSum <- c("F15_19", "F20_24", "F25_29", "F30_34", "F35_39", "F40_44", "F45_49")
dt.SSP.scen.wide[, F15_49 := rowSums(.SD), .SDcols = ageColsToSum]
当我在shell中运行R中的代码时,我得到以下消息。
OMP:错误#15:正在初始化libomp.dylib,但发现libomp.dylib已初始化。提示:这意味着OpenMP运行时的多个副本已经链接到程序中。这是危险的,因为它可能会降低性能或导致不正确的结果。最好的做法是确保只有一个OpenMP运行时链接到进程中,例如,通过避免在任何库中静态链接OpenMP运行时。作为一种不安全、不受支持、无文档记录的解决方法,您可以设置环境变量KMP_DUPLICATE_LIB_OK=TRUE以允许程序继续执行,但这可能会导致崩溃或产生不正确的结果。详情请参考http://www.intel.com/software/products/support/。中止陷阱:6
我对openMP一无所知,所以我不知道是什么在初始化libomp.dylib。
发布于 2017-12-22 23:39:46
我按照https://github.com/Rdatatable/data.table/wiki/Installation上的说明安装了data.table 1.10.5的开发版本。我的代码现在可以工作了。
https://stackoverflow.com/questions/47947948
复制相似问题