我有一个包含多行和三列的数据集。第一列race
填充了0
s,1
和NA
s。我试图提取与0
对应的行,同时忽略任何NA
。
我的代码:
dt = data.table(cbind((data[,'race']), (data[,'age']), (data[,'sex'])))
data = dt[complete.cases(dt), ] #remove the NAs
subset(data,race == 0)
我一直收到这个错误,我不确定它是什么意思:
Error in `[.data.table`(x, r, vars, with = FALSE) :
i is invalid type (matrix). Perhaps in future a 2 column matrix could
return a list of elements of DT (in the spirit of A[B] in FAQ 2.14).
Please let datatable-help know if you'd like this, or add your
comments to FR #1611.
答案 0 :(得分:1)
看起来你可以通过使用类似的东西来节省一些步骤(并获得相当快的速度):
setkey(dt, "race")
dt[!is.na(race)][.(0)]
答案 1 :(得分:0)
试试这个:
na.omit(dt)[race==0]
na.omit
函数将在排除包含NA
的任何行后返回数据表。