【发布时间】:2017-12-01 02:34:58
【问题描述】:
我有一个变量mat,它被初始化为NULL。我有一个迭代过程,只会在某些条件下填充垫子。在此过程之后,我检查mat 是否有超过一定数量的行,如果没有,则执行其他操作。
我正在寻找一种简洁的方式来编写此条件,理想情况下,类似于is.null(mat) | nrow(mat) < n。虽然如果is.null(mat)是TRUE并且它们是通过OR连接的,那么整个语句应该是TRUE,但是nrow(mat) < n会报错。
我可以通过将其重写为两个条件并将# do something 代码复制到这两个位置来解决这个问题,但是有更简洁的方法吗?
mat = NULL
for(i in 1:10){
if(runif(1) > 0.8){
mat = rbind(mat, c(1,2,3))
}
}
if(is.null(mat)){
# do something...
} else if(nrow(mat) < 3){
# do something...
}
【问题讨论】:
标签: r logical-operators