假设我们有以下数据框:
> dataset1
x
1 1
2 2
3 3
4 NA
5 5
我想提出一个R命令来计算包含“NA”值的1列数据帧的行索引。更具体地,在上面的数据集1示例中,这样的命令将返回4 - 因为'NA'出现在数据帧的第4行中。我怎样才能做到这一点?谢谢!
答案 0 :(得分:24)
根据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
答案 1 :(得分:0)
创建newdataset1
,这是从dataset1
删除缺少列值的行后形成的表格
使用-which(is.na)
newdataset1<-dataset1[-which(is.na(dataset1$x)),]
答案 2 :(得分:0)
使用tidyverse
生态系统中的功能的替代方法:
> dataset1 %>%
rowid_to_column() %>%
filter(is.na(x))
rowid x
1 4 NA
答案 3 :(得分:0)
此代码返回数据框,其中仅包含 your_dataframe 中具有空值的行
your_dataframe[unique(which(is.na(your_dataframe), arr.ind=TRUE)[,1]),]
或使用 dplyr
your_dataframe %>%
dplyr::setdiff(., na.omit(.))