我已导入具有以下格式日期的时间序列:
test = c("11-Feb-01","12-Feb-01","01-Mai-08")
这产生:
> as.Date(test, "%d-%b-%y")
[1] NA NA "2008-05-01"
由于 May 已被翻译,因此显然将语言环境考虑在内。
根据文档, %b 应该是月份的缩写名称,但我想那里可能存在一些问题。
我将如何解决这个问题?
我在 Linux t2.6.27-9-generic #1 SMP 下运行 R
更新:深入挖掘我发现问题出在 LC_TIME 定义中,其中适当的缩写形式为:
"jan.","feb.","mars", "apr", "mai", "juni", "juli", "aug.","sep.","okt.","nov.", "des."
而我的数据包含:
"Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"
我想我可以考虑对数据进行预处理,但是在 R 中进行此操作的平滑方式将是最受欢迎的。
这有点工作,但不是那么优雅:
> as.Date(gsub("Feb","feb.",test), "%d-%b-%y")
[1] "2001-02-11" "2008-02-12" "2008-05-01"
谢谢!