Rでは、要素xとベクトルがありvます。にv等しい要素の最初のインデックスを見つけたいのですがx。これを行う方法の1つは次のとおりwhich(x == v)[[1]]です。それを行うためのより直接的な方法はありますか?
ボーナスポイントについてx、ベクトルなら機能する機能はありますか?つまり、xin の各要素の位置を示すインデックスのベクトルを返す必要がありvます。
私の質問では、xでは
—
ライアンC.トンプソン
which(x == v)[[1]]なくベクトル化された関数を使用したいと思いましたが、そうではありません。
which(x == v)[[1]]ように最適化されているため、それほど効率的ではありません。これは==、すべてのベクトル要素に適用される1つの比較()演算子と、インデックス(which)の1つのサブセットです。それでおしまい。この関数で10.000回の繰り返しを実行していない限り、関連性のあるものは何もありません。その他のソリューションではmatch、などのPosition多くのデータが返されない場合がありwhichますが、必ずしも効率的ではありません。