将因子变量转换为日期

时间:2016-06-30 11:06:41

标签: r date

我有一个向量,其中嵌入了日期,但数据类型为Factor

示例

time  
[1] Jan-14 Feb-14 Mar-14 Apr-14  
Levels: Apr-14 Feb-14 Jan-14 Mar-14

我想使用R将年份和月份分开。其他类似的问题具有正确的日期格式,即Y-M-D,等等。 任何人都可以提出任何想法吗?

我尝试使用strsplit()。它像这样分开日期

time<-strsplit(x = as.character(time), split = "-")  
time  
[[1]]  
[1] "Jan" "14"   
[[2]]  
[1] "Feb" "14"   
[[3]]  
[1] "Mar" "14"  
[[4]]  
[1] "Apr" "14" 

如何在新专栏中保存这些月份和年份?

1 个答案:

答案 0 :(得分:3)

我们可以使用日期编号粘贴并使用as.Date

as.Date(paste0(time,"-01"), "%b-%y-%d")
#[1] "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01"

如果我们需要分成两列

read.table(text=as.character(time), sep="-", col.names = c("Month", "Year"))
#   Month Year
#1   Jan   14
#2   Feb   14
#3   Mar   14
#4   Apr   14

数据

time <- factor(c("Jan-14", "Feb-14", "Mar-14", "Apr-14"))