0

我有一个相关分数向量,myCorVector其中包含从 1 到 -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 回答