- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个变量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...
}
最佳答案
您可以使用 |
的短路版本,即 ||
。
is.null(mat) || nrow(mat) < n
来自帮助:
& and && indicate logical AND and | and || indicate logical OR. The shorter form performs elementwise comparisons in much the same way as arithmetic operators. The longer form evaluates left to right examining only the first element of each vector. Evaluation proceeds only until the result is determined. The longer form is appropriate for programming control-flow and typically preferred in if clauses.
关于R:If 语句包含 is.null 作为通过 OR 连接的条件之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47585824/
我是一名优秀的程序员,十分优秀!