【发布时间】:2018-03-02 21:47:51
【问题描述】:
我在 R 中按月/年格式排序时遇到问题。
我有%m/%Y 格式的数据,但正在尝试使用
df_prod<-df_prod[order(as.Date(df_prod$date,format="%m/%Y")),]
数据框未排序。我收到了类似文本的订单 (01/2000,01/2001,01/2002)
其他细节:
我正在以%m/%Y 格式很好地排序的数据帧上执行dplyr 聚合:
df_prod<-df %>%
group_by(date,comp_id) %>%
summarise(a_prod=prod(1+TRT)-1)
谢谢
【问题讨论】:
-
很可能是因为.Date(df_prod$date,format="%m/%Y") 产生了无效的日期,因此 order 函数根据字符串值进行排序。
-
正如 dave2e 提到的,“%m/%Y”不是日期。您需要包含一天才能获得有效日期。最简单的解决方案是在开头粘贴“/1”并使用“%d/%d/%Y”。以前有人问过这个问题。