使用顺序向量中的值获取R数据帧的子集

时间:2011-02-23 08:58:10

标签: r subset correlation dataframe

我有一个相关分数myCorVector的矢量,其中包含从1到-1的一系列值。

向量myCorVector对数据框myDataFrame的每一行都有分数。

我可以通过指定myDataFrame[order(myCorVector),]来订购数据框行。

我想要做的是订购数据框,但从myDataFrame检索myCorVector值小于0的行的子集。

如果我在subset()上应用myCorVector,则order()返回的索引不再与myDataFrame中的有效行索引关联。

是否有快速和/或优雅的方式来执行此操作,for不需要myCorVector循环?

2 个答案:

答案 0 :(得分:1)

将分数添加到data.frame,创建一个排序副本和子集:

myDataFrame$myCorVector <- myCorVector
odf <- myDataFrame[order(myDataFrame$myCorVector), ]
odf[odf$myCorVector < 0, ]

答案 1 :(得分:0)

简单索引应该完成这项工作:

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

棘手的部分是order强加的订单变更;没有排序它只是:

myDataFrame[myCorVector<0,]