Получение индекса первого появления значения в каждом столбце матрицы
Если у меня есть один вектор, я могу получить 1-е вхождение, которое меньше значения:
test <- c(0.5,0.8,0.1,0.08,0.06,0.04)
which(test<0.1)[1]
который правильно дает ответ как4
, Тем не менее, как я могу получить первое вхождение в каждом столбце матрицы, например, первое вхождение ниже 5 в следующей 2-колоночной матрице:
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
- я что-то упускаю очевидное?