DT - data.table,列"A"(列索引== 1),"B"(列索引2),"C"等
例如,下一个代码生成子集DT1,其中包含A == 2的行:
DT1 <- DT[A==2, ]
Run Code Online (Sandbox Code Playgroud)
但是如何仅使用列索引来创建像DT1这样的子集?
例如,像下一个代码不起作用:
DT1 <- DT[.SD==2, .SDcols = 1]
Run Code Online (Sandbox Code Playgroud) DT <- data.table(A = 1:5, B = 2:6, C = 3:7)
Run Code Online (Sandbox Code Playgroud)
我想使用列索引对3列进行求和:
DT[, D := do.call(sum, .SD), .SDcols = 1:3]
Run Code Online (Sandbox Code Playgroud)
但是上面的代码不起作用,
我也不想用 DT[, D := (A+B+C)]
我有带有列A,B,C的data.table G:
下面的代码计算A列中的NA值:
G[is.na(A), .N]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用列索引(对于列A索引= 1)时-我看不到任何结果:
G[is.na(.SD), .N, .SDcols = 1]
Run Code Online (Sandbox Code Playgroud)
如何正确解决此问题?