r - 在保留索引的同时按向量排序 Dataframe

标签 r sorting vector dataframe

假设我有这个名为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/

相关文章:

r - 如何在Rcpp中将R对象打印到stderr?

java - 索引外的递归二分搜索数组

java - Hashtable 查询的 J2ME Vector

c++ - 如何将 std::transform 与带有附加参数的 lambda 函数一起使用

r - 强制R将直方图绘制为概率(相对频率)

R 在动物园对象和数据框之间进行转换,不同列数的结果不一致?

r - dplyr 式的方式来执行分组和未分组的汇总操作

java - ZK Listheader 以编程方式设置排序

sorting - 在单元格之间复制/粘贴 Google 表格中的查询并自动替换值

替换R中字符句子中的单词