为什么这不起作用data.table?
它适用于data.frame.有没有办法用数据表做到这一点?
x <- data.table(v1=1:20,v2=1:20,v3=1:20,v4=letters[1:20])
y <- x[,sapply(x,is.numeric)]
Run Code Online (Sandbox Code Playgroud)
返回:
v1 v2 v3 v4
TRUE TRUE TRUE FALSE
Run Code Online (Sandbox Code Playgroud)
Art*_*sov 17
没有的另一个解决方案with = FALSE是.SDcols参数:
x[, .SD, .SDcols = which(sapply(x, is.numeric))]
Run Code Online (Sandbox Code Playgroud)
这也有效:
x[, .SD, .SDcols = sapply(x, is.numeric)]
Run Code Online (Sandbox Code Playgroud)
Mik*_*han 10
data.table需要with=FALSE抓住列号.
tokeep <- which(sapply(x,is.numeric))
x[ , tokeep, with=FALSE]
Run Code Online (Sandbox Code Playgroud)