我有一个数据框(超过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变量转换为日期变量。
感谢。