arrange()首先放大写字母

时间:2015-09-17 21:52:23

标签: r sorting dplyr

我通常使用arrange()中的dplyr函数对数据集进行排序,但它的表现方式我无法理解。我花了一点时间来了解这一点。我修复了我的代码并使用order()做同样的事情,但现在我很好奇。我已经使用了arrange()而没有多年思考过两次,我想知道为什么这似乎是默认行为。当涉及大写字母时,它看起来不能按字母顺序排序 - 因为它认为大写字母应该在小写字母之前,即使后者在字母表中位于它们之前。我错过了什么吗?

这并不总是一个问题,但是当我在安排tapply()之后立即使用arrange()时,它确实成为我的一个问题,假设数据的排序方式与{{1}相同运行时排序。这是tapply()推出"苏联"的一个例子。之前"乌干达"和#34;乌克兰",而arrange()(正确的,我认为!)将它放在最后。

order()

我环顾四周,看看其他人是否遇到过同样的问题,看不到任何东西。如果之前已经讨论过,请原谅我。

1 个答案:

答案 0 :(得分:1)

是的,来自@MrFlick的评论是正确的。如果我做

Sys.setlocale("LC_COLLATE","C")

然后

tmp[order(tmp$countries),]

匹配arrange()

的结果