确定矩阵是否具有至少一个零元素

Hyp*_*nja 3 r matrix

我相信这是微不足道的 - 尽管如此,任何帮助都会受到赞赏.

问题很简单:给定一个矩阵,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)

发出警告.有一个简单的方法吗?

Mat*_*erg 7

生成警告是因为您要呈现逻辑to的向量,该向量if需要单个值. any是一个函数来判断是否有任何逻辑值TRUE:

any(A==0)
## [1] TRUE
any(B==0)
## [1] FALSE
Run Code Online (Sandbox Code Playgroud)

还有一个函数all可以确定逻辑向量中的所有值是否都是TRUE.