如果R中的数据框为空,如何编写if/else语句
我正在努力做到以下几点: 如果数据框中没有任何内容,请打印“无匹配” 如果有内容,请将其绑定到数据帧如果R中的数据框为空,如何编写if/else语句,r,R,我正在努力做到以下几点: 如果数据框中没有任何内容,请打印“无匹配” 如果有内容,请将其绑定到数据帧df2的ID: if(df == []){ print("nomatch") }else{ cbind(df, df2$id2) } 您可以通过dim获取有关数据框尺寸的信息。例如,运行代码: data(mtcars) dim(mtcars) 将向您显示尺寸: [1] 32 11 对于NULL对象,您将得到: mtcars <- NULL dim(mtcars) NULL 你会得到
df2
的ID
:
if(df == []){
print("nomatch")
}else{
cbind(df, df2$id2)
}
您可以通过
dim
获取有关数据框尺寸的信息。例如,运行代码:
data(mtcars)
dim(mtcars)
将向您显示尺寸:
[1] 32 11
对于NULL
对象,您将得到:
mtcars <- NULL
dim(mtcars)
NULL
你会得到
> dim(mtcars)
[1] 0 11
如果语句
构造if
语句非常简单,这取决于您要检查的内容
对象为NULL
*对象为NULL
,没有行和列
if (dim(df) == NULL) {
}
没有争吵
此数据框有列,但没有观察值
没有专栏
*对象仍然是类data.frame
,但没有数据
if (dim(df)[2] == 0) {
}
您可以这样构造对象(如果感兴趣):
数据(mtcars)
它取决于你的<代码>数据。框架< /> >实际上是空的,或者所有元素都是空的。
如果data.frame
为空,可以使用nrow
作为简单检查
tmp <- data.frame(A = numeric())
nrow(tmp)
[1] 0
if(nrow(tmp) == 0){
print("data.frame is empty")
}else{
print("data.frame contains data")
}
你认为数据框架中没有什么?没有争吵?没有专栏?二者都100%NA
值?数据帧技术上不存在,因为数据通过一系列过滤器,我认为这就是问题所在,如果(存在(“df”)…
可以用来确定环境中是否存在df
。如果数据框不存在,您将在当前代码中收到一个对象“df”not found错误。如果数据框是一个过滤器的产品,没有得到任何结果,那么数据框将不会为空,它将根本不存在。因此,命名数据帧不会得到我想要的结果,对吗?如果数据帧不存在,我怎么说?
if (dim(df)[2] == 0) {
}
data(mtcars)
mtcars <- mtcars[,-c(1:dim(mtcars)[2])]
tmp <- data.frame(A = numeric())
nrow(tmp)
[1] 0
if(nrow(tmp) == 0){
print("data.frame is empty")
}else{
print("data.frame contains data")
}
exists("tmp2")
[1] FALSE
exists("tmp")
[1] TRUE