如何选择数据表中主键中缺少值的所有行.
DT = data.table(x=rep(c("a","b",NA),each=3), y=c(1,3,6), v=1:9)
setkey(DT,x)
Run Code Online (Sandbox Code Playgroud)
选择特定值很容易
DT["a",]
Run Code Online (Sandbox Code Playgroud)
选择缺失值似乎需要矢量搜索.一个人不能使用二进制搜索.我对么?
DT[NA,]# does not work
DT[is.na(x),] #does work
Run Code Online (Sandbox Code Playgroud) 假设我有一个data.table"融化"的形式,我有一个键,标识符和值
library(data.table)
library(reshape2)
DT = data.table(X = c(1:5, 1:4), Y = c(rep("A", 5), rep("B", 4)), Z = rnorm(9))
DT2 = data.table(dcast(DT, X~Y))
Run Code Online (Sandbox Code Playgroud)
我怎样才能在里面进行那种自我加入data.table?
> DT
X Y Z
1: 1 A -0.19790449
2: 2 A 0.17906116
3: 3 A 0.01821837
4: 4 A 0.17309716
5: 5 A 0.05962474
6: 1 B -0.24629468
7: 2 B 0.92285734
8: 3 B 0.66002573
9: 4 B -1.01403880
> DT2
X A B
1: 1 -0.19790449 -0.2462947
2: 2 0.17906116 …Run Code Online (Sandbox Code Playgroud)