检查数据帧本身是否为 NA

Cod*_*Guy 2 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")
}
Run Code Online (Sandbox Code Playgroud)

如果x == 1,则它可以正常工作而没有任何警告,否则,如果x == 2给出以下警告

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

Hon*_*Ooi 5

不管你的主题是什么,看起来你真的想检查d是数据框还是其他东西。

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