21

次のデータ フレームがあるとします。

>  dataset1
      x
  1   1
  2   2
  3   3
  4   NA
  5   5

「NA」の値を含む 1 列のデータ フレームの行インデックスを計算する R コマンドを考え出します。より具体的には、上記の dataset1 の例では、このようなコマンドは 4 を返します。これは、「NA」がデータ フレームの 4 行目に表示されるためです。どうすればこれを実現できますか? ありがとう!

4

4 に答える 4

43

Ben Bolker によって提案されているように、次のように と の両方whichを使用できますis.na

> which(is.na(dataset1), arr.ind=TRUE)
  row col
4   4   1  # NA is in row 4 and column 1
于 2013-11-10T21:51:21.067 に答える
6

tidyverseエコシステムの関数を使用する別のアプローチ:

> dataset1 %>%
     rowid_to_column() %>%
     filter(is.na(x))
  rowid  x
1     4 NA
于 2019-05-22T18:19:41.743 に答える
0

このコードは、 your_dataframe に空の値を持つ行のみを含むデータフレームを返します your_dataframe[unique(which(is.na(your_dataframe), arr.ind=TRUE)[,1]),]

またはdplyrを使用して

your_dataframe %>% dplyr::setdiff(., na.omit(.))

于 2021-07-24T16:35:56.270 に答える