函数 as.Date 只能识别德语月份 - 但不能识别英语月份
function as.Date just recognizes german month - but not english month
我需要转换 R 中的日期,格式如下: “2011 年 10 月 1 日”。问题是函数 as.Date 只考虑德国月份。在这里,我有一个例子:
> test <- c("15MAI2006","01OCT2011")
> test1 <- as.Date(test, format='%d%B%Y')
> test1
[1] "2006-05-15" NA
"MAY" 是德语 "MAI"。函数没有得到英文拼写为OCT的日期
如果您'completely sure'语言是德语,试试这个:
Sys.setlocale("LC_ALL","German")
test <- c("15MAI2006","01OKT2011")
as.Date(test, format='%d%B%Y')
[1] "2006-05-15" "2011-10-01"
但是,您的原始数据中有“01OCT2011”,十月应该是 Okt
如果您真的想同时获取英语和德语日期,则需要一次获取一个。
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
找到其他系统的格式
我需要转换 R 中的日期,格式如下: “2011 年 10 月 1 日”。问题是函数 as.Date 只考虑德国月份。在这里,我有一个例子:
> test <- c("15MAI2006","01OCT2011")
> test1 <- as.Date(test, format='%d%B%Y')
> test1
[1] "2006-05-15" NA
"MAY" 是德语 "MAI"。函数没有得到英文拼写为OCT的日期
如果您'completely sure'语言是德语,试试这个:
Sys.setlocale("LC_ALL","German")
test <- c("15MAI2006","01OKT2011")
as.Date(test, format='%d%B%Y')
[1] "2006-05-15" "2011-10-01"
但是,您的原始数据中有“01OCT2011”,十月应该是 Okt
如果您真的想同时获取英语和德语日期,则需要一次获取一个。
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
找到其他系统的格式