我想在data.table中生成一個新的變量,我生成,保存並重新加載。加載後,我通過get()間接地處理data.table,只要我不直接爲變量創建之前的地址創建,就不會生成新變量。 可能是某種環境問題?加載data.table對象後直接生成一個新的變量(data.table)
# Generate data.table
t<-data.table(x=c(1,2,3,4))
tStr<-"t"
names(t)
# Generate Variable a -> ok
get(tStr)[, a:=1]
names(t)
# Generate Variable b -> ok
t[, b:=1]
names(t)
# Save
save(t, file="test.Robj")
load("test.Robj", .GlobalEnv)
# Generate Variable c -> fails
get(tStr)[, c:=1]
names(t)
# Generate Variable d -> ok
t[, d:=1]
names(t)
# Generate Variable e -> ok again !?
get(tStr)[, e:=1]
names(t)
感謝您的幫助
看起來像一個bug – eddi 2014-08-28 21:45:46
[#479](https://github.com/Rdatatable/data.table/issues/479)與此類似。尚未修正。 – Arun 2014-08-28 21:56:42
有關相關問題,請參閱http://stackoverflow.com/a/15208059/1385941 – mnel 2014-08-29 00:40:19