【发布时间】:2016-06-30 13:49:08
【问题描述】:
我认为这应该很简单,但我找不到这样做的方法。
我想根据一个因素对数据框重新排序。到目前为止,我能找到的所有答案都提供了逻辑排序,但这是任意的,并且是数字和字母的混合。也许这是一个问题,因为它是factor 而不是vector?但是向量的答案似乎也不起作用。
任何建议将不胜感激!
示例数据 (注意;这些数据只是针对这个问题,在我的真实代码中,数据框是其他一些计算的输出,所以我不能一开始就将名称更改为合理的名称)
DATA<- data.frame(This=c("120", "60", "90", "OG"), That=c(453, 679,12,252))
DATA
This That
1 120 453
2 60 679
3 90 12
4 OG 252
我想按 60 - 90 - 120 - OG 的顺序排序,即
This That
1 60 679
2 90 12
3 120 453
4 OG 252
编辑:这不是重复的问题。如上所述,在下面的评论中,排序是任意的。字典排序假设行名是相互关联的,这里不是这种情况。我本可以标记行 ("unicorn", "18.1", "TREES", "234234235") 并希望它们按顺序排列 ("234234235", "unicorn", "TREES", "18.1")
【问题讨论】:
-
字符顺序重要吗?或者您想按字母顺序对它们进行排序?即如果有
OG和AB,你要AB, OG吗? -
嗨@user2100721,谢谢,但另一个答案不是我想要的。排序是任意的,不是按字典顺序排列的。在这种情况下,它很复杂,因为我无法更改标签。