假设我有这个名为result的数据框:
id nobs
1 25 463
2 26 586
3 27 338
4 28 475
5 29 711
6 30 932
和这个向量:
ord = c(30, 29, 28, 27, 26, 25)
现在我明白了,我可以通过这样做来根据向量 ord 对数据框进行排序:
result[match(ord, result$id),]
得到如下结果:
id nobs
6 30 932
5 29 711
4 28 475
3 27 338
2 26 586
1 25 463
但是,如您所见,行索引也已更改(6,5,4..)。我想像以前一样保留它们 (1,2,3...)。
我该怎么做?
最佳答案
您可以在抓取新数据框后清除行名称:
res <- result[match(ord, result$id),]
row.names(res) <- NULL
res
# id nobs
# 1 30 932
# 2 29 711
# 3 28 475
# 4 27 338
# 5 26 586
# 6 25 463
关于r - 在保留索引的同时按向量排序 Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30700174/