我有一个矩阵
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型方法可以实现此目的吗?
答案 0 :(得分:4)
apply(blah,2,function(x) {x == max(x)})
这只是打击了我。这很简单。我不相信我之前没有想到这一点。