如何跟踪数据框中的哪些行在R中具有NA值
问题描述:
我正在使用一些非常大的数据框,为了缩短计算量,我需要排除具有NA值的行,但是在计算并创建新数据框后我需要将它们带回(到新的数据框)。有没有可能跟踪我排除哪些行?如何跟踪数据框中的哪些行在R中具有NA值
例如:
X1 X2 X3 X4
1 3 4 5 4
2 3 3 3 4
3 NA NA NA NA
4 4 3 3 2
所以,我要的是“complete.cases” 3号,是指与NA的行数被排除之后得到的。是否可以不添加额外的列与编号?
答
您可以使用na.omit
,然后attr(na.omit(df), "na.action")
给出了3
此外,
rownames(df)[!complete.cases(df)]
# [1] "3"
+0
作为一个变种,我会建议'has_na
答
要返回行包含至少一个NA
指数,我们也可以使用:
rownames(df[rowSums(is.na(df)) > 0,])
# [1] "3"
是有可能的。自己试过了什么? –
检查'?complete.cases' –
@Emkin欢迎光临SO。请帮助我们通过在R中包含示例数据(例如,通过'dput'或'read.table'和'text ='参数生成的),预期结果(数据)以及您尝试过的代码来创建快速准确的答案远。谢谢! –