Rにおいて、Iは、要素x
およびベクトルv
を有する。私は、v
の要素の最初のインデックスがx
に等しくなるようにしたいと考えています。私はこれを行う一つの方法は:which(x == v)[[1]]
ですが、それはあまりにも非効率的だと思います。もっと直接的な方法がありますか?ベクトルの要素のインデックスを見つけるためのR関数はありますか?
ボーナスポイントは、x
がベクターの場合に機能する関数はありますか?つまり、x
の各要素の位置を示すインデックスのベクトルをv
に戻す必要があります。
Rはベクトルで動作するように最適化されているため、which(x == v)[[1]] 'は非常に非効率的ではありません。これは、すべてのベクトル要素に適用される1つの比較演算子( '==')と、インデックス上の1つのサブセット化( 'which')です。それでおしまい。この機能で10.000の繰り返しを実行していない限り、関連するものはありません。 'match'や' Position'のような他の解決策は、 'which'と同じくらい多くのデータを返すことはできませんが、必ずしも効率的ではありません。 – BurninLeo
私の質問では、xに対してベクトル化された関数が好きで、 'which(x == v)[[1]]'はそうではないと指定しました。 –