我很高兴使用R中的data.table
包来通过引用传递大对象。但是,以下内容不起作用:
addNewColumn = function(dataTable) {
dataTable[, newCol:=1]
return(0)
}
x = data.table(
id = c(11,22,33),
data=c(99,99,99)
)
file.remove("x.Rdata")
saveRDS(x, file="x.Rdata")
y = readRDS("x.Rdata")
print(class(y))
res = addNewColumn(y)
虽然class(y)
给出data.table
(和data.frame
)。即似乎并非所有类信息都存储在磁盘上和/或从磁盘中恢复...
我不确定我是否使用最新版本的R和data.table包,但我几天前安装了它们......
我还发现使用y = data.table(readRDS("x.Rdata"))
代替y = readRDS("x.Rdata")
会让它再次发挥作用但是这句话似乎毫无意义,因为我正在向已经{{1}的data.table
投射内容}}
最好,谢谢你这个漂亮的套餐!!
FW