R 在保持名称排序的同时,先按名称再按日期对数据帧进行排序
我的数据框架如下:R 在保持名称排序的同时,先按名称再按日期对数据帧进行排序,r,R,我的数据框架如下: product<-c("asd","saf","asd","bc","asd","saf","bc","saf") date<-as.Date(c("2018-07-29","2018-07-25","2018-07-28","2018-06-29","2018-07-21","2018-07-12","2018-02-28","2018-07-10")) p<-data.frame(product,date) 因为我不关心名称之间的字母排序。使用
product<-c("asd","saf","asd","bc","asd","saf","bc","saf")
date<-as.Date(c("2018-07-29","2018-07-25","2018-07-28","2018-06-29","2018-07-21","2018-07-12","2018-02-28","2018-07-10"))
p<-data.frame(product,date)
因为我不关心名称之间的字母排序。使用
sqldf
:
library(sqldf)
sqldf("select * from p order by product,date")
输出:
product date
1 asd 2018-07-21
2 asd 2018-07-28
3 asd 2018-07-29
4 bc 2018-02-28
5 bc 2018-06-29
6 saf 2018-07-10
7 saf 2018-07-12
8 saf 2018-07-25
product date
5 asd 2018-07-21
3 asd 2018-07-28
1 asd 2018-07-29
7 bc 2018-02-28
4 bc 2018-06-29
8 saf 2018-07-10
6 saf 2018-07-12
2 saf 2018-07-25
使用
sqldf
:
library(sqldf)
sqldf("select * from p order by product,date")
输出:
product date
1 asd 2018-07-21
2 asd 2018-07-28
3 asd 2018-07-29
4 bc 2018-02-28
5 bc 2018-06-29
6 saf 2018-07-10
7 saf 2018-07-12
8 saf 2018-07-25
product date
5 asd 2018-07-21
3 asd 2018-07-28
1 asd 2018-07-29
7 bc 2018-02-28
4 bc 2018-06-29
8 saf 2018-07-10
6 saf 2018-07-12
2 saf 2018-07-25
基本上考虑了两列的排序:
p[order(p$product,p$date),]
输出:
product date
1 asd 2018-07-21
2 asd 2018-07-28
3 asd 2018-07-29
4 bc 2018-02-28
5 bc 2018-06-29
6 saf 2018-07-10
7 saf 2018-07-12
8 saf 2018-07-25
product date
5 asd 2018-07-21
3 asd 2018-07-28
1 asd 2018-07-29
7 bc 2018-02-28
4 bc 2018-06-29
8 saf 2018-07-10
6 saf 2018-07-12
2 saf 2018-07-25
我相信这个问题已经重复了。事实上,万一我把它放在这里,它有更多的信息:
基本上考虑了两列的排序:
p[order(p$product,p$date),]
输出:
product date
1 asd 2018-07-21
2 asd 2018-07-28
3 asd 2018-07-29
4 bc 2018-02-28
5 bc 2018-06-29
6 saf 2018-07-10
7 saf 2018-07-12
8 saf 2018-07-25
product date
5 asd 2018-07-21
3 asd 2018-07-28
1 asd 2018-07-29
7 bc 2018-02-28
4 bc 2018-06-29
8 saf 2018-07-10
6 saf 2018-07-12
2 saf 2018-07-25
我相信这个问题已经重复了。事实上,万一我把它放在这里,它有更多的信息:
如果你想对产品进行排序,那么产品
bc
应该在saf
之前。我不在乎字母顺序,我只想把所有相同的产品都放在一起。如果你想对产品进行排序,那么产品bc
应该在saf
之前。我不在乎字母顺序,我只想要全部相同的产品都在一起。@firmo23:如果我走错了方向,请告诉我。很好的回答,谢谢@如果我走错了方向,请告诉我。很好的回答,谢谢!