在R中编码的新手,需要一些帮助
我想说:如果数据框中没有任何内容打印no_match如果有什么东西将它绑定到df2的ID
if(df == []){
print("nomatch")
}else{
cbind(df, df2$id2)
}
Run Code Online (Sandbox Code Playgroud)
Kon*_*rad 10
您可以通过以下方式获取有关数据框尺寸的信息dim.例如运行代码:
data(mtcars)
dim(mtcars)
Run Code Online (Sandbox Code Playgroud)
会告诉你尺寸:
[1] 32 11
Run Code Online (Sandbox Code Playgroud)
对于NULL您将获得的对象:
mtcars <- NULL
dim(mtcars)
NULL
Run Code Online (Sandbox Code Playgroud)
dim在data.frame没有行的情况下非常灵活:
mtcars <- mtcars[-c(1:dim(mtcars)[1]),]
Run Code Online (Sandbox Code Playgroud)
你会得到
> dim(mtcars)
[1] 0 11
Run Code Online (Sandbox Code Playgroud)
构造if语句非常简单,取决于您想要检查的内容
NULL*对象是NULL,没有行,没有列.
if (dim(df) == NULL) {
}
Run Code Online (Sandbox Code Playgroud)
此数据框具有列但没有观察.
if (dim(df)[1] == 0) {
}
Run Code Online (Sandbox Code Playgroud)
*该对象仍然是类,data.frame但没有数据.
if (dim(df)[2] == 0) {
}
Run Code Online (Sandbox Code Playgroud)
您可以像这样构建对象(如果感兴趣的话):
data(mtcars)
mtcars <- mtcars[,-c(1:dim(mtcars)[2])]
Run Code Online (Sandbox Code Playgroud)
当然,您可以组合条件来检查两个或一个数据帧为空的事件.
这取决于你data.frame实际上是空的还是你认为空的所有元素.
如果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")
}
Run Code Online (Sandbox Code Playgroud)
编辑 - OP询问对象是否存在
您可以检查是否已定义对象 exists
exists("tmp2")
[1] FALSE
exists("tmp")
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23268 次 |
| 最近记录: |