r - R dplyr 函数排列(ymd(col))不起作用

标签 r dplyr lubridate

df<-data.frame(record_id=1:5,group=c('A','B','C','D','E'),
    date_start=c('Apr-22','Aug-21','Jan-22','Feb-22','Dec-21'))

这是我尝试用来按时间顺序与字母顺序对我的专栏进行排序的代码。

arrange(ymd(date_start))

我觉得我已经尝试过以各种已知的方式重新格式化/重新分类,但它仍然要么给出错误,要么不按时间顺序排序。

最佳答案

格式应为myd,因为它是按月、年的顺序排列的,并且(日)不存在,因此使用truncated = 1

library(dplyr)
library(lubridate)
df %>%
    arrange(myd(date_start, truncated = 1))

或者也可以使用my,因为缺少“day”

df %>% 
   arrange(my(date_start))

-输出

  record_id group date_start
1         2     B     Aug-21
2         5     E     Dec-21
3         3     C     Jan-22
4         4     D     Feb-22
5         1     A     Apr-22

关于r - R dplyr 函数排列(ymd(col))不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73143337/

相关文章:

r - 使用 `accumulate` 将列表中的数据帧反连接到原始先前的数据帧

r - 为什么这个 dplyr dput 不起作用?

r - 如何在 R 中跨非连续行删除重复的日期序列?

r - 将 sjPlot::tab_model() 或其他 html 表的输出编织成 PDF 文档

r - R 3.4.1在Mac上的控制台界面非常慢

mysql - 无法找到签名 ‘dbReadTable’ 字符的函数 ‘"的继承方法”, "missing"’

过滤后用零替换空单元格

r - 使用 "lubridate"包编写 R 函数,该函数接受日期(例如 ."August 14")并返回十二生肖

r - "%m %"操作符与 mapply

sql - 在多个数据集中查找相同的行