R - 基于向量测试矩阵值

时间:2015-04-24 16:51:08

标签: r matrix vector

我有一个矩阵

blah <- structure(c(10L, 7L, 5L, 3L, 8L, 10L, 3L, 9L, 3L, 3L, 4L, 8L, 7L, 4L, 8L, 5L, 2L, 1L, 9L, 7L, 6L, 7L, 9L, 3L, 3L), .Dim = c(5L, 5L))

> blah
     [,1] [,2] [,3] [,4] [,5]
[1,]   10   10    4    5    6
[2,]    7    3    8    2    7
[3,]    5    9    7    1    9
[4,]    3    3    4    9    3
[5,]    8    3    8    7    3

我有一组矢量对应于每列的最大值。

max <- apply(blah,2,max)
> max
[1] 10 10  8  9  9

我想基于每列的最大值

返回逻辑向量
     [,1] [,2] [,3] [,4] [,5]
[1,]    T    T    F    F    F
[2,]    F    F    T    F    F
[3,]    F    F    F    F    T
[4,]    F    F    F    T    F
[5,]    F    F    T    F    F

我知道我可以在列上实现一个循环来执行此操作,但是有一种优雅的R型方法可以实现此目的吗?

1 个答案:

答案 0 :(得分:4)

apply(blah,2,function(x) {x == max(x)})

这只是打击了我。这很简单。我不相信我之前没有想到这一点。