如何在R中的给定列中输出NA行的名称?

如何在R中的给定列中输出NA行的名称?,r,data-cleaning,R,Data Cleaning,我正在处理面板数据,通过键入以下内容,我发现我感兴趣的一列中有16个NAs: sum(is.na(df$X1995)) [1] 16 现在我想知道今年哪些行缺少值。哪一行有这16个NAs 我尝试了这个,但它返回空值: rownames(which(is.na(df$X1995))) 行.名称必须是某个对象的名称。(is.na返回一个数字索引,它不是具有row-names属性的对象 row.names(df)[which(is.na(df$X1995))] 使用进行换行也是不需要的,因为是。

我正在处理面板数据,通过键入以下内容,我发现我感兴趣的一列中有16个NAs:

sum(is.na(df$X1995))
[1] 16
现在我想知道今年哪些行缺少值。哪一行有这16个NAs

我尝试了这个,但它返回空值:

rownames(which(is.na(df$X1995)))

行.名称
必须是某个对象的名称。
(is.na
返回一个数字索引,它不是具有row-names属性的对象

row.names(df)[which(is.na(df$X1995))]
使用
进行换行
也是不需要的,因为
是。na
返回一个逻辑向量,可用于子集行名

row.names(df)[is.na(df$X1995)]
如果行名只是序列值,那么
本身就足够了

which(is.na(df$X1995))
我想我已经详细解释了原因

下面是另一个可能也适用于您的选项,其中
subset
使用
NA
对这些行进行排序,然后您可以读取行名称:

row.names(subset(df,is.na(X1995)))