这似乎是1.8.10之后引入的与setkey相关的bug,其中DT包含列表.运行以下两个代码来查看问题:
library(data.table)
dtl <- list()
dtl[[1]] <- data.table(scenario = 1,
processing = c(function(x) x))
dtl[[2]] <- data.table(scenario = 2,
processing = c(function(x) x))
dt <- rbindlist(dtl)
setkeyv(dt, c("scenario"))
Run Code Online (Sandbox Code Playgroud)
第二个,目前产生错误:
dtl <- list()
dtl[[1]] <- data.table(scenario = 2, # <- note we change order
processing = c(function(x) x))
dtl[[2]] <- data.table(scenario = 1,
processing = c(function(x) x))
dt <- rbindlist(dtl)
setkeyv(dt, c("scenario")) #setkey cannot sort?
Run Code Online (Sandbox Code Playgroud)
它在1.8.10中运行良好.我无法在我的DT上设置密钥,似乎与包含功能列表的DT有关.任何简单的解决方法?我跟踪错误消息到C代码,但不知道如何解决它.
在Windows 64bit上的R 3.0.2 + data.table 1.9.2谢谢
| 归档时间: |
|
| 查看次数: |
983 次 |
| 最近记录: |