我相信这是微不足道的 - 尽管如此,任何帮助都会受到赞赏.
问题很简单:给定一个矩阵,TRUE如果所讨论的矩阵至少有一个元素等于零,我想知道.所以,检查
A <- matrix(c(1, 2, 3, 4, 5, 0), nrow = 2, ncol = 3, byrow = TRUE)
> A
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 0
Run Code Online (Sandbox Code Playgroud)
将返回TRUE,而
B <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3, byrow = TRUE)
> B
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
Run Code Online (Sandbox Code Playgroud)
会回来的FALSE.
就像是
if ( A == 0 ) { cat("\nZero detected")}
Run Code Online (Sandbox Code Playgroud)
发出警告.有一个简单的方法吗?
生成警告是因为您要呈现逻辑to的向量,该向量if需要单个值. any是一个函数来判断是否有任何逻辑值TRUE:
any(A==0)
## [1] TRUE
any(B==0)
## [1] FALSE
Run Code Online (Sandbox Code Playgroud)
还有一个函数all可以确定逻辑向量中的所有值是否都是TRUE.