単一のベクトルがある場合、値を下回る最初のオカレンスを取得できます。
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
withを使用すると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
- 私は明らかなものを見逃していますか?