在R中将字符变量更改为日期变量

时间:2019-07-08 13:15:06

标签: r date dplyr character lubridate

我有一个正确的格式的变量来描绘Year-Quarter(即“ 2015 Q1”),但是,它以字符形式存储在R中,并且我正在尝试完成需要我有日期的时间序列分析。我的数据每季度收集一次,因此采用季度格式。

我尝试使用lubridate和zoo软件包将字符变量转换为可识别的日期。

str(Qtotal)
'data.frame':   24 obs. of  5 variables:
 $ Quarter  : chr  "2017 Q1" "2017 Q2" "2017 Q3" "2017 Q4" ...
 $ date     : Date, format: NA NA NA ...

Qtotal$date <- as.Date(Qtotal$Quarter, format = "%m-%d-%y")
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

我尝试过的其他事情:

total$date<-as.Date(parse_date_time(Qtotal$Quarter, c('mdy')))

警告信息: 所有格式均无法解析。找不到格式。

Qtotal$date<-as.Date(parse_date_time(Qtotal$create_date, c('mdy')))
  

$<-.data.frame*tmp*,日期,值=数字(0))中的错误:     替换有0行,数据有24

1 个答案:

答案 0 :(得分:2)

我们可以使用as.yearqtr(来自zoo)转换为“ yearqtr”类,并将其强制转换为Date

library(zoo)
as.Date(as.yearqtr(Qtotal$Quarter))