如何在R中仅将年月日期转换为年月日期日期?

时间:2018-09-19 15:25:32

标签: r

我有以下格式的节目日期列表作为字符串

program.date.have <-c('Sep-14','Aug-14','Sep-16')

我假设所有这些程序都在每个月的第一天开始,并且我希望program.date像这样结束

program.date.want<-c('2014-09-01', '2014-08-01, '2016-09-01')YYYY-MM-DD格式。

从某个地方开始,我决定以以下方式将字符串转换为日期格式

program.date.have<-c('Sep-14','Aug-14','Sep-16')
betterDates <- as.Date(program.date,
                       format = "%m-%y")

但即使那样似乎也不起作用。如何使用program.date变量中的值转换为我想要的program.date.want中的格式

1 个答案:

答案 0 :(得分:2)

我们可以使用as.yearmon中的zoo,指定format,然后用as.Date换行,这会自动在第一个月的第一天生成“天”。

library(zoo)
as.Date(as.yearmon(program.date.have, "%b-%y"))
#[1] "2014-09-01" "2014-08-01" "2016-09-01"

或者base R选项是在开头或结尾处paste {01},然后在format中指定适当的as.Date

as.Date(paste0(program.date.have, "-01"), "%b-%y-%d")
#[1] "2014-09-01" "2014-08-01" "2016-09-01"