升级到 data.table 的最新版本 1.8.1(在 R-forge 上可用)后,我遇到了以下问题。直到那个版本,我可以这样做:
DT = data.table(a=LETTERS[c(1,1:3)],b=4:7,key="a")
DT
a b
1: A 4
2: A 5
3: B 6
4: C 7
DT[ ,newcol := NA]
即,我能够添加一个充满 NA 的新列。现在我收到一个错误,说不支持 NA 的逻辑类型(实际上DT[ ,newcol := TRUE]
也不起作用)。
所以现在我通过首先添加一个双列,然后将其设置为 NA 或任何我需要的逻辑来解决这个问题:
DT[ ,newcol:=1]
a b newcol
1: A 4 1
2: A 5 1
3: B 6 1
4: C 7 1
和
DT[ ,newcol:=NA]
a b newcol
1: A 4 NA
2: A 5 NA
3: B 6 NA
4: C 7 NA
我想问这是否是正确的方法。我想这没什么大不了的。它工作得很好,只是想避免不必要的步骤。