假设我有一个包含6列和100000行的数据帧。我想根据另一个向量originScen
(10,000行)中的索引/数字选择矩阵reducedScenIds
中的行。我通过检查Y的每个成员的值是否与数据帧X的第1列中的值匹配来选择行。现在第一列可以为Y的每个值具有多个匹配。
所以我使用了下面的
reducedSet <- originScen[which(originScen[,1] %in% reducedScenarioIds),]
我对结果很满意,但which
和%in%
似乎会破坏reducedScenarioIds
向量的顺序。最终reducedSet
根据reducedScenarioIds
向量中找到的ID的升序选择行,而不是完全相同的顺序。
originScen[,1]
reducedScenarioIds
个重复的条目
任何人都有替代解决方案吗?
由于
答案 0 :(得分:2)
试试这个:
reducedSet <- originScen[originScen[,1] %in% reducedScenarioIds,][order(na.exclude(match(originScen[,1], reducedScenarioIds))),]