首页 文章

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

提问于
浏览
0

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

向量 myCorVector 具有数据帧 myDataFrame 的每一行的分数 .

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

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

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

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

2 回答

  • 1

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

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

    简单的索引应该做的工作:

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

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

    myDataFrame[myCorVector<0,]
    

相关问题