【问题标题】:as.Date() not working with %B on Mac maybe? [duplicate]as.Date() 可能不适用于 Mac 上的 %B 吗? [复制]
【发布时间】:2020-09-04 18:08:29
【问题描述】:

我不知道我的日期数据有什么问题。 housing_data数据框中Date列的示例如下:

"February 2012"  "March 2012"     "April 2012"     "May 2013"       "July 2015"      "March 2016"    
"May 2016"       "April 2017"     "July 2017"      "October 2017"   "December 2017"  "February 2018"

我运行housing_data$Date <- base::as.Date(housing_data$Date, "%B %Y"),除了NA 什么都没有返回,就好像我的格式不正确一样。我错过了什么?

【问题讨论】:

标签: r macos date formatting


【解决方案1】:

我建议以这种方式在您的字符串中添加一个日期值:

#Data
x1 <- c("February 2012", "March 2012", "April 2012", "May 2013", "July 2015")

代码:

#For date
as.Date(paste('01',x1),'%d %B %Y')

输出:

[1] "2012-02-01" "2012-03-01" "2012-04-01" "2013-05-01" "2015-07-01"

或者你可以试试:

#Format date
format(as.Date(paste('01',x1),'%d %B %Y'),'%B %Y')

输出:

[1] "February 2012" "March 2012"    "April 2012"    "May 2013"      "July 2015" 

【讨论】:

  • 啊,你真是个天才。当您没有完整的月、日、年组合时,这是真的吗?
  • @KyleDixon 是的,您可以使用该技巧来格式化您的日期。我希望这对你有用:)
  • @KyleDixon 如果您认为此答案有帮助,您可以通过单击此答案左侧的勾号来接受它。
  • @KyleDixon,回答您的问题。是的,有效日期有日、月和年。如果未指定日期,则它不是有效日期,任何转换为​​ Date 对象的尝试都将失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 2016-08-06
  • 1970-01-01
相关资源
最近更新 更多