【发布时间】:2012-05-28 18:52:48
【问题描述】:
如果我有一个向量,我可以得到低于某个值的第一个匹配项:
test <- c(0.5,0.8,0.1,0.08,0.06,0.04)
which(test<0.1)[1]
正确地给出了4的答案。但是,如何在矩阵的每一列中获得第一次出现,例如以下 2 列矩阵中低于 5 的第一次出现:
test2 <- matrix(c(5,8,3,4,7,5,6,2),ncol=2)
将apply 与which 一起使用会返回一个列表:
> apply(test2<5,2,which)
[[1]]
[1] 3 4
[[2]]
[1] 4
将apply 与which.min 一起使用时,所有列都会返回1:
> apply(test2<5,2,which.min)
[1] 1 1
然而,我想要的应该只是返回 [1] 3 4 - 我是否遗漏了一些明显的东西?
【问题讨论】:
标签: r