如何使用R语言统计矩阵的一列中数值等于1的元素个数?

Python030

如何使用R语言统计矩阵的一列中数值等于1的元素个数?,第1张

>x<-matrix(c(1,1,2,1,2,3,4,1),4,2)

>x

[,1] [,2]

[1,]12

[2,]13

[3,]24

[4,]11

>length(which((x[,1]==1)))

[1] 3

>length(which((x[,2]==1)))

[1] 1

#x[,1]==1判断是否为1,返回True或False

# which((x[,1]==1))返回为True的行号

#length(which((x[,1]==1)))返回为True的行数,即1的个数

上图是一个简单的例子,b为一矩阵,现在想统计第二列中数值等于1的元素个数,首先做一个逻辑判断,即b[,2]==1,得到一个由布尔变量true和false组成的向量

此时只需要知道true的数量,由于对布尔变量求和,true转化为1,false转化为0,故对该向量求和即可得到true的数量,即b[,2]中等于1的数量。