0

myCorVector1から-1までの値の範囲を含む相関スコアのベクトルがあります。

ベクトルmyCorVectorには、データフレームの各行のスコアがありますmyDataFrame

を指定して、データフレームの行を並べ替えることができますmyDataFrame[order(myCorVector),]

私がやりたいのは、データフレームを並べ替えることですが、値が0未満の行のサブセットを取得しmyDataFrameますmyCorVector

に適用するsubset()myCorVector、によって返されるインデックスは、order()の有効な行インデックスに関連付けられなくなりますmyDataFrame

forループオーバーを必要としない、これを行うための迅速かつ/またはエレガントな方法はありますmyCorVectorか?

4

2 に答える 2

1

スコアを data.frame に追加し、並べ替えられたコピーとサブセットを作成します。

myDataFrame$myCorVector <- myCorVector
odf <- myDataFrame[order(myDataFrame$myCorVector), ]
odf[odf$myCorVector < 0, ]
于 2011-02-23T12:48:28.567 に答える
0

単純なインデックスが仕事をするはずです:

myDataFrame[order(myCorVector),][sort(myCorVector)<0,]

トリッキーな部分は、によって課される順序の変更orderです。並べ替えなしでは、次のようになります。

myDataFrame[myCorVector<0,]
于 2011-02-23T09:15:05.537 に答える