1

各サブリストのどの要素がその特定のサブリストの最小値であるかを調べようとしています。機能を適用しようとしている現在のデータのチャンクは、41 エントリのレコードです。それらは、サブリストまたはサブグループごとにインデックスを生成する別の関数によってグループ化されます。要素1:8は最初のサブグループに属し、次のサブグループは次のとおりです: 9:1718:2324:3334:41b1作業中のデータを " " と呼び、b1 の要素をサブグループにグループ化するために作成されたインデックスは" " であることに注意してくださいindx。次のように sapply を使用して、各サブグループの最小値を見つけることができます。

sapply(indx, function(i) min(b1[i])

しかし、私はどの「b1」要素が上記の番号に適用されるかを見つけることに行き詰まっています。which()関数andがおそらく必要であることはわかっmapply()ていますが、まとめることはできませんでした。

再現可能なデータ:

b1 <- sample(1:20,41,T)
starts <- c(1,9,18,24,34)
stops <- c(8,17,23,33,41)
indx <- mapply(seq, from=starts, to=stops)
4

1 に答える 1

3

あなたは基本的にそれを自分で理解しました。

試す

sapply(indx, function(i) which.min(b1[i]))

編集

それが実際にあなたが望むものであるかどうかはもうわかりません。上記の答えは、各サブグループ内の最小要素のインデックスを返すはずです。

その場合、次のことを行うことができます(おそらくかなりの数の可能な方法の1つ):

indices <- 1:length(b1)
sapply(indx, function(i) indices[i][which.min(b1[i])])
于 2013-03-20T18:28:40.033 に答える