假设我们有以下数据框:
> dataset1
x
1 1
2 2
3 3
4 NA
5 5
我想提出一个 R 命令来计算包含“NA”值的 1 列数据帧的行索引。更具体地说,在上面的 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
createnewdataset1
这是在删除使用中缺少列值的行后形成的dataset1
表-which(is.na)
newdataset1<-dataset1[-which(is.na(dataset1$x)),]
此代码返回数据框,其中仅包含 your_dataframe 中具有空值的行
your_dataframe[unique(which(is.na(your_dataframe), arr.ind=TRUE)[,1]),]
或使用 dplyr
your_dataframe %>%
dplyr::setdiff(., na.omit(.))