我试图隐藏以下日期格式。我在使用lubridate包中的parse_date_time和strfttime函数时遇到了麻烦,因为它将整个列转换为相同的日期,或者因为它继续返回day值。我不想在我的解决方案中查看任何日期。
mydata=data.frame(dates=c(200102,200102,200111,200202),desired=c('2001-02','2001-02', '2001-11','2002-02'))
我想在我的专栏中只返回YYYY-mm格式。我这样做有困难。我尝试过使用
答案 0 :(得分:4)
试试这个:
transform(mydata, desired = sub("(....)(..)", "\\1-\\2", dates))
这种形式不便于操作(绘图等)。您可能更喜欢使用动物园包中的"yearmon"
类,该类在内部存储年份/月份作为年份+分数,其中1月份的分数为0,2月份为1月12日,12月份为12月12日。在输出时,默认渲染是,例如Jan 2000
:
library(zoo)
transform(mydata, ym = as.yearmon(as.character(dates), "%Y%m"))