R:矩阵元素筛选

来源:互联网 发布:上海数据恢复公司 编辑:程序博客网 时间:2024/06/16 05:06


    和向量一样,矩阵也可以做筛选。

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

> x

     [,1] [,2]

[1,]    1    2

[2,]    2    3

[3,]    3    4

> x[ x[,2] >= 3, ]

     [,1] [,2]

[1,]    2    3

[2,]    3    4

    首先判断x的第二列向量x[ , 2]的哪些元素大于等于3,然后在x中使用其结果。X的行向量与x[ , 2]>3 取值为TRUE的行对应,也就对应于矩阵第二列中元素大于等于3的行。为了提高性能,计算时使用的是完全向量化运算。这是因为:

• x[,2]是向量。

• 运算符>=用于比较两个向量。

• 数值3被自动重复,变成一个由数值3组成的向量。

    虽然这个例子中j是通过x定义且用于提取x中的元素,但事实上筛选规则可以基于除被筛选变量之外的变量。

> x

     [,1] [,2]

[1,]    1    2

[2,]    2    3

[3,]    3    4

> z <- c( 5, 12, 13 )

> x[ z %% 2 == 1, ]

     [,1] [,2]

[1,]    1    2

[2,]    3    4

 

 

 


0 0
原创粉丝点击