我需要在R中格式化日期,其格式为“01OCT2011”。问题是,功能as.Date只是考虑德国月。在这里,我举一个例子:函数as.Date只是识别德国月份 - 但不是英文月份
> test <- c("15MAI2006","01OCT2011")
> test1 <- as.Date(test, format='%d%B%Y')
> test1
[1] "2006-05-15" NA
“MAY”是德语“MAI”。该功能没有得到英文拼写OCT的日期。
我需要在R中格式化日期,其格式为“01OCT2011”。问题是,功能as.Date只是考虑德国月。在这里,我举一个例子:函数as.Date只是识别德国月份 - 但不是英文月份
> test <- c("15MAI2006","01OCT2011")
> test1 <- as.Date(test, format='%d%B%Y')
> test1
[1] "2006-05-15" NA
“MAY”是德语“MAI”。该功能没有得到英文拼写OCT的日期。
如果你是“完全确定”的语言是德语试试这个:
Sys.setlocale("LC_ALL","German")
test <- c("15MAI2006","01OKT2011")
as.Date(test, format='%d%B%Y')
[1] "2006-05-15" "2011-10-01"
但是,你有你的原始数据“01OCT2011”,十月应该十月
不要这样想的语言环境。这产生了相同的结果:as.Date(c(“01Okt2011”,“01OKT2011”,“01okt2011”),format ='%d%B%Y') –
反之亦然。我的日期是英文的,我想用英文翻译它们。但我认为在我的情况下,R只考虑德国月份而不是英语。这就是为什么我的输出是用“MAI”确认,而不是用“MAY”确认。与“OCT”相同。我试过Sys.setlocale(“LC_ALL”,“英文”)...但没有工作。 –
这将是合乎逻辑的。我的系统有问题,也许我无法获得相同的结果 –
如果你真的想要同时获得英文和德文日期,您需要一次获得一个。
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
很高兴知道...非常感谢你! –
找到其他系统格式看起来法国虽然 – HubertL