我想按数字列对数据框进行排序,而我得到的是数字的字母数字排序。如果数据框被转换为矩阵,则排序工作。按数字列排序数据帧
df[order(as.numeric(df[,2])),]
V1 V2
1 a 1
3 c 10
2 b 2
4 d 3
> m <- as.matrix(df)
> m[order(as.numeric(m[,2])),]
V1 V2
[1,] "a" "1"
[2,] "b" "2"
[3,] "d" "3"
[4,] "c" "10"
您可能有一个“因素”列。试试'df [order(as.numeric(as.character(df [,2]))),]' – akrun
[如何制作一个很好的R可重现的例子?](http://stackoverflow.com/questions/5963269) – zx8754
您可以使用不断有用的'str'函数来检查akrun的理论。尝试一下你的data.frame,然后发布restults。 – lmo