1

我有看起来像这样的日期向量(实际上向量要长得多):

dta= data.frame(c("Mar 22, 2013", "Feb 4, 2013","Oct 3, 2016", "Apr 8, 2014", 
"Sep 6, 2013", "Jul 16, 2014"))
colnames(dta)<-c("time")

dta$time<-as.Date(dta$time, '%B %d, %Y')

现在,当我申请 as.Date NA 返回日期 2 和 4 时。有人可以帮我弄清楚我错过了什么吗?提前致谢!

4

1 回答 1

1

我认为这是系统语言的问题。我是意大利人,如果我执行你的代码,我会在第 3、第 5 和第 6 位获得 NA。但如果我执行:

dta= data.frame(c("Mar 22, 2013", "Feb 4, 2013","Ott 3, 2016", "Apr 8, 2014", 
              "Set 6, 2013", "Lug 16, 2014"))
colnames(dta)<-c("time")

dta$time<-as.Date(dta$time, '%B %d, %Y')

我没有得到任何NA。

我通过用英语设置工作日来解决:

Sys.setlocale("LC_TIME","C") # for Unix

对于 Windows,以下应该可以代替(但我无法验证):

Sys.setlocale("LC_TIME","English") # for Windows
于 2017-03-11T07:28:56.350 回答