1

複数の行と 3 列のデータ セットがあります。最初の列は、 s、s、およびsraceで埋められます。s を無視しながら、 s に対応する行を引き出そうとしています。01NA0NA

私のコード:

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.
4

2 に答える 2

1

次のようなものを使用すると、いくつかの手順を節約できるようです (そして、かなりのスピードを得ることができます)。

  setkey(dt, "race")
  dt[!is.na(race)][.(0)]
于 2013-03-03T00:13:36.923 に答える
0

これを試して:

na.omit(dt)[race==0]

このna.omit関数は、を含む行を除外した後、データテーブルを返しますNA

于 2013-03-03T00:15:49.857 に答える