作为as.Date只承认德国月 - 但不是英国月

时间:2017-06-20 21:21:59

标签: r date as.date

我需要在R中转换具有以下格式的日期: " 01OCT2011&#34 ;.问题是函数as.Date只考虑德国月份。在这里,我有一个例子:

> test <- c("15MAI2006","01OCT2011")
> test1 <- as.Date(test, format='%d%B%Y')
> test1
[1] "2006-05-15" NA 

&#34; MAY&#34;是德语&#34; MAI&#34;。该功能没有获得英文拼写OCT的日期。

2 个答案:

答案 0 :(得分:1)

如果你真的想要同时获得英语和德语日期,你需要一次获得一个。

Sys.setlocale("LC_TIME", "de_DE")
test1 <- as.Date(test, format='%d%B%Y')
na.test1 <- is.na(test1)
Sys.setlocale("LC_TIME", "C")
test1[na.test1] <- as.Date(test[na.test1], format='%d%B%Y')

我上面用于德语的语言环境适用于OSX,但您可以在documentation for Sys.setlocale找到其他系统的格式

答案 1 :(得分:0)

如果您完全确定&#39;该语言是德语试试这个:

Sys.setlocale("LC_ALL","German")

test <- c("15MAI2006","01OKT2011")
as.Date(test, format='%d%B%Y')

[1] "2006-05-15" "2011-10-01"

但是,您有原始数据&#34; 01OCT2011&#34;十月应该是好的