我正在尝试将带有荷兰语日期的字符串变量转换为日期变量 原始变量的一些示例值(date.string):“18 sep.2016”,“29 mei 2014”,“7 mrt.2016”我试过:
df$date <- as.Date(df$dta.string, format = "%d %h %Y", locale = "dutch")
显然我犯了一个错误,因为我只在新专栏中提到NA,有人提出任何建议吗?
答案 0 :(得分:5)
你可以做到
df <- data.frame(dta.string = c("18 sep. 2016", "29 mei 2014", "7 mrt. 2016"))
oldloc <- Sys.getlocale("LC_TIME")
Sys.setlocale("LC_TIME", "dutch")
df$dta.string <- sub("([a-z]{3})(?!\\.)", "\\1.", df$dta.string, perl=TRUE)
as.Date(df$dta.string, format = "%d %h. %Y")
# [1] "2016-09-18" "2014-05-29" "2016-03-07"
Sys.setlocale("LC_TIME", oldloc)
答案 1 :(得分:4)
$ sudo apt-get remove g++ libstdc++-6.4.7-dev
$ sudo apt-get install build-essential g++-multilib
有一个lubridate::dmy
参数,您可以在其中指定要评估字符串的区域设置,而不更改实际的区域设置。它还会切断不一致的分隔符,这很方便:
locale