为了账号安全,请及时绑定邮箱和手机立即绑定

将年份和月份(“yyy-mm”格式)转换为日期?

将年份和月份(“yyy-mm”格式)转换为日期?

达令说 2019-06-03 09:53:13
将年份和月份(“yyy-mm”格式)转换为日期?我有一个如下所示的数据集:Month    count2009-01  122009-02  3102009-03  23792009-04  2342009-05  142009-08  12009-09  342009-10  2386我想要绘制数据(月份为x值,计数为y值)。由于数据中存在空白,所以我希望将月份的信息转换为日期。我试过:as.Date("2009-03", "%Y-%m")但没有用。怎么了?看起来,As.Date()也需要一天,并且无法为一天设置一个标准值?哪个功能解决了我的问题?
查看完整描述

4 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

您也可以使用parse_date_timefast_strptime的函数lubridate-一揽子:

> parse_date_time(dates1, "ym")[1] "2009-01-01 UTC" "2009-02-01 UTC" "2009-03-01 UTC"> fast_strptime(dates1, "%Y-%m")[1] "2009-01-01 UTC" "2009-02-01 UTC" "2009-03-01 UTC"

两者的区别在于parse_date_time允许使用lubriate样式的格式规范,同时fast_strptime要求与strptime.

若要指定时区,可以使用tz-参数:

> parse_date_time(dates1, "ym", tz = "CET")[1] "2009-01-01 CET" "2009-02-01 CET" "2009-03-01 CET"

当您的日期时间数据有异常时,可以使用truncated-规定允许有多少违规行为的参数:

> parse_date_time(dates2, "ymdHMS", truncated = 3)[1] "2012-06-01 12:23:00 UTC" "2012-06-01 12:00:00 UTC" "2012-06-01 00:00:00 UTC"

使用的数据:

dates1 <- c("2009-01","2009-02","2009-03")dates2 <- c("2012-06-01 12:23","2012-06-01 12",'2012-06-01")


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 2181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信