我有以下格式的节目日期列表作为字符串
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
中的格式
答案 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"