如果我的问题非常基本,请原谅。
我通过df <- data.frame()
创建了一个空数据帧,显然数据帧是NULL(空)。当我尝试通过is.null(df)
检查数据框是否为空时,结果为FALSE。在R中NULL
和empty
之间是否有任何区别。在这种情况下,如果数据框不是NULL
,那么空数据框中的内容以及何时{{1} }}。感谢
答案 0 :(得分:38)
df
不是NULL,因为它是一个数据框,因此具有一些已定义的属性。例如,它有一个类。您可以使用nrow(df)
获取数据框中的行数,即使结果恰好为零。因此,行数也是明确定义的。
据我所知,基地R中没有is.empty
命令。您可以做的是,例如,以下
is.data.frame(df) && nrow(df)==0
这将为空数据帧(即没有行的数据帧)赋予TRUE,否则为false。
首先检查is.data.frame
的原因是nrow
可能会导致错误,如果它应用于除数据框以外的任何内容。感谢&&
,nrow(df)
仅在df
是数据框时才会被评估。
答案 1 :(得分:0)
data.frame()
创建一个具有数据框类的对象。由于对象 存在 ,is.null
将返回 FALSE 。 NULL
变量没有类,也没有内容。
答案 2 :(得分:-3)
以上答案是正确的,is.na和is.null无法在R中检测到空值。这就是我要计算你的数据框中有多少空值的方法&#39; df& #39;在这种情况下。
is.na(df [df ==&#39;&#39;])&lt; - TRUE#这只是将NA替换为df中的空值。
sum(is.na(df))#会让你知道你的df&#39;中有多少空值。
希望这有帮助。