次のデータ フレームがあるとします。
> dataset1
x
1 1
2 2
3 3
4 NA
5 5
「NA」の値を含む 1 列のデータ フレームの行インデックスを計算する R コマンドを考え出します。より具体的には、上記の dataset1 の例では、このようなコマンドは 4 を返します。これは、「NA」がデータ フレームの 4 行目に表示されるためです。どうすればこれを実現できますか? ありがとう!
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
tidyverse
エコシステムの関数を使用する別のアプローチ:
> dataset1 %>%
rowid_to_column() %>%
filter(is.na(x))
rowid x
1 4 NA
このコードは、 your_dataframe に空の値を持つ行のみを含むデータフレームを返します
your_dataframe[unique(which(is.na(your_dataframe), arr.ind=TRUE)[,1]),]
またはdplyrを使用して
your_dataframe %>%
dplyr::setdiff(., na.omit(.))