r - 从最低值到最高值对列进行排序(即 1、2、3 等,而不是 1、10、11...2、20、21... 等)

标签 r

我有一个包含 5 万行的数据集,我想根据其中一列中的值对其进行排序。列中的数字从 1 到 30,当我执行以下操作时

 data=data[order(data$columnname),]

它被排序,以便列的顺序如下

1, 10, 11 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 4、5、6、7、8、9

我怎样才能把它排序成这样

1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24 , 25, 26, 27, 28, 29, 30

最佳答案

对我来说,您的格式似乎不是数字。试试这个:

data$columnname<-as.numeric(data$columnname)
data=data[order(data$columnname),]

关于r - 从最低值到最高值对列进行排序(即 1、2、3 等,而不是 1、10、11...2、20、21... 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37109989/

相关文章:

r - 以年为间隔分解时间序列

r - 对不包含相同级别的列进行因式分解

r - 使用 R data.table 对高频时间序列进行子集化(用 data.table 替换 xts 功能)

删除由 pdf() 创建的临时文件

r - 如何标准化同时包含数值和因子变量的数据框

r - 从 R 中许多 0 和少数 1 的序列中仅选择 0 和第一个 1?

r - fread() Blank.lines.skips 离开 NA 行

r - 如何使用ggplot绘制每行标准偏差的线

R-数据框一列中的值在其他列中出现了多少次? (最好不使用 for 循环)

r - R Azure 机器学习包