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

Python021

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

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

此时只需要知道true的数量,由于对布尔变量求和,true转化为1,false转化为0,故对该向量求和即可得到true的数量,即b[,2]中等于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的个数

#

在1到80里随机抽取100个数,可重复

x

<-

sample(1:80,

100,

replace

=

T)

#

看看有多少不同的元素,

unique(x)把x中出现过的元素提取出来,

length()看看有多少个

length(unique(x))

[1]

52