我缺少as.Date的“格式”部分中的明显内容。考虑这个例子
d1 <- data.frame(d = c("1/Jan/1947", "1/Feb/1947", "1/Mar/1947"), d2 = c("Jan/1947", "Feb/1947", "Mar/1947"))

d1$date1 <- as.Date(x=d1$d, format="%d/%b/%Y")
d1$date2 <- as.Date(x=d1$d2, format="%b/%Y")

           d       d2      date1 date2
1 1/Jan/1947 Jan/1947 1947-01-01  <NA>
2 1/Feb/1947 Feb/1947 1947-02-01  <NA>
3 1/Mar/1947 Mar/1947 1947-03-01  <NA>

所以我的问题很简单-我不明白为什么date1有效,而date2无效。

最佳答案

最简单的答案是,日期是包含一天的内容,如果未指定日期,则as.Date()会引起混淆。从?as.Date文档中:



当您考虑它时,严格来说,“Mar/1947”之类的术语不是日期,它只是月份和年份的组合。日期是1947年3月(或任何其他月份和年份)中的特定日期-由于您未指定日期,因此没有日期。

关于r - 无法使用as.Date格式化月份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7480499/

10-10 16:20