根据日期变量的长度创建(日期)因子的新级别

时间:2018-05-30 17:28:06

标签: r date factors

我有一个数据框(超过100,000条记录,大约有50个变量),包括一个存储为因子的日期变量。但是,该变量的长度取决于记录保持的准确性。它需要0,4,6,8,9或11的长度。这适用于:

0: no date; 4: YYYY; 6: MMM-YY; 8: MMM-YYYY; 9: DD-MMM-YY; 11: DD-MMM-YYYY

我试图将所有有效日期(长度为4-9)的格式与长度为11的日期(正确的格式)相同。我在创建一个新的因子变量时遇到了严重的问题。例如,对于长度为4的日期记录,我将假设01_Jul作为所有年份的日期。我试图扩展当前的日期值集:

df$date <- ifelse(df$len==4, as.factor(paste0("01-Jul-", df$date)), df$date)

但这导致数值(甚至不是字符类型)。然后,我希望对长度为6,8和9使用类似的日期估算。是否有人对如何推进这些转换有任何建议?

我的最终目的是使用as.Date命令将factor变量转换为日期变量。

感谢。

0 个答案:

没有答案