检查数据帧本身是否为NA

时间:2013-11-01 02:14:20

标签: r dataframe na

如何检查R数据帧是否为空?看看这段代码。我想修改它,所以它永远不会产生错误或警告。

x = sample(1:2,1)
d = NA
if(x == 1) {
    d = data.frame("h"=c(1,2),"q"=c(2,3))
}

#check if data frame is NA
if(is.na(d)) {
    print("d is NA")
}

如果x == 1,则在没有任何警告的情况下正常工作,否则,如果x == 2发出以下警告

Warning message:
In if (is.na(d)) { :
  the condition has length > 1 and only the first element will be used

2 个答案:

答案 0 :(得分:4)

无论您的主题是什么,看起来您确实想要检查d是否是数据框或其他内容。

if(is.data.frame(d)) {
    # do something sensible with a data frame
}
else print("d is not a data frame!")

答案 1 :(得分:2)

您可以将d设为NULL

d <- NULL

然后检查is.null(d)