如何在R中按升序对列进行排序

时间:2016-05-09 19:08:41

标签: r

我想按升序排列我的专栏(日期)。

我在下面试过,但它没有用。

data3 <- data2[order(data2$date_1,decreasing = FALSE)]

它给了我这个错误: -

  

[.data.frame中的错误(data2,order(data2 $ date_1,减去= FALSE)):     选择了未定义的列

我的数据是

Sr. date_1 No_of_births  
1   1   40255  
2   10  41874  
3   11  38940  
4   12  40320  
5   2   36428  
6   3   39940  
7   4   37641  
8   5   39288  
9   6   38789  
10  7   42148  
11  8   42980  
12  9   42112  

我想要的输出如下所示,其他列也是如此。 (((只显示日期栏)))

Date

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12

2 个答案:

答案 0 :(得分:2)

简易dplyr解决方案:

install.packages('dplyr')
library('dplyr')

data3 <- arrange(data2, date)

答案 1 :(得分:0)

尝试data3 <- data2[order(as.integer(data2$date_1),decreasing = FALSE), ]

加:

在使用class(date2$date_1)之前检查order是个好主意。这个数据属于integer类或numeric,那么你有1,2,3,......,10,11,...;但是,它是character,然后没有强制转换/强制转换为整数,你得到&#34; 1&#34;,&#34; 10&#34;,&#34; 11&#34;,&# 34; 12&#34;,...&#34; 2&#34;。