R:从任何矩阵(matA),创建一个矩阵,其中包含所有小于6的值的matA列

时间:2016-10-18 15:27:37

标签: r matrix

如果

matA[4][4]=
15  5   5   0
0   5   6   1
3   0   3   3
4   4   4   2

然后回答

answer[4][2]=
5 0
5 1
0 3
4 2

2 个答案:

答案 0 :(得分:1)

考虑mat是你的矩阵,然后:

> mat[,apply(mat<6, 2, all)]
     [,1] [,2]
[1,]    5    0
[2,]    5    1
[3,]    0    3
[4,]    4    2

答案 1 :(得分:0)

如果您将数据存储在data.frame而不是矩阵中,

Filter()是一个不错的选择:

A <- matrix(c(15, 0, 3, 4, 5, 5, 0, 4, 5, 6, 3, 4, 0, 1, 3, 2), nrow = 4)
d <- data.frame(A)
Filter(function(x) max(x) < 6, d)

  X2 X4
1  5  0
2  5  1
3  0  3
4  4  2