首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >矩阵中的真/假条件

矩阵中的真/假条件
EN

Stack Overflow用户
提问于 2013-01-11 00:52:00
回答 1查看 8.1K关注 0票数 0

我有一个矩阵,想看看条目是否大于某个值,例如:

代码语言:javascript
运行
复制
matrix[matrix[,1] > value,1] 

现在,这将返回所有大于value的值

我想做的不是这样,而是获取TRUE/FALSE以便能够在if条件下使用它。

因此,我想检查矩阵中是否有任何值在上述条件下为TRUE

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-11 01:00:17

代码语言:javascript
运行
复制
set.seed(1234)

a <- matrix(round(runif(25,0,4)), nrow=5)
a

b <- (a>2)
b

class(b)    

一个是:

代码语言:javascript
运行
复制
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    3    3    3    1
[2,]    2    0    2    1    1
[3,]    2    1    1    1    1
[4,]    2    3    4    1    0
[5,]    3    2    1    1    1

B是:

代码语言:javascript
运行
复制
      [,1]  [,2]  [,3]  [,4]  [,5]
[1,] FALSE  TRUE  TRUE  TRUE FALSE
[2,] FALSE FALSE FALSE FALSE FALSE
[3,] FALSE FALSE FALSE FALSE FALSE
[4,] FALSE  TRUE  TRUE FALSE FALSE
[5,]  TRUE FALSE FALSE FALSE FALSE

类(B)返回:

代码语言:javascript
运行
复制
[1] "matrix"

如果你想要一个数值矩阵1/0而不是TRUE / FALSE,你可以使用:

代码语言:javascript
运行
复制
b[b==TRUE] = 1
b

     [,1] [,2] [,3] [,4] [,5]
[1,]    0    1    1    1    0
[2,]    0    0    0    0    0
[3,]    0    0    0    0    0
[4,]    0    1    1    0    0
[5,]    1    0    0    0    0

此代码将只检查第一列:

代码语言:javascript
运行
复制
b2 <- a[,1] > 2
b2

[1] FALSE FALSE FALSE FALSE  TRUE
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14263087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档