【问题标题】:Convert to date format error: character string is not in a standard unambiguous format转换为日期格式错误:字符串不是标准的明确格式
【发布时间】:2018-11-04 10:29:38
【问题描述】:

我想计算两个日期之间的月数,但在此之前我在 r 中加载数据时遇到了问题。在 csv 表中,格式为 mm/dd/yyyy,但在 R 中,变量被归类为字符。

我试过了

data$issue_d <- format(as.Date(data$issue_d), "%m/%d/%Y")

并首先转换为日期,但它给出了以下错误

字符串不是标准的明确格式

对此有何建议?

示例输入:

issue_d <- c("Dec,2011","Nov,2014","Apr,2015") 

【问题讨论】:

  • 看起来像是错字...试试:data$issue_d &lt;- as.Date(data$issue_d, format = "%m/%d/%Y")
  • 相关帖子,错误解释:stackoverflow.com/questions/14755425/…
  • @zx8754 它给了所有 NA
  • 更改格式参数。
  • 日期类也需要日期,这就是代码的问题

标签: r date format


【解决方案1】:

试试下面:

# example data
df1 <- data.frame(
  issue_d1 = c("Dec,2011","Nov,2014","Apr,2015"),
  issue_d2 = c("Nov,2015","Sep,2017","Apr,2018"))


library(zoo)

df1$Months <- 
  (as.yearmon(df1$issue_d2, "%b,%Y") - 
     as.yearmon(df1$issue_d1, "%b,%Y")) * 12

df1
#   issue_d1 issue_d2 Months
# 1 Dec,2011 Nov,2015     47
# 2 Nov,2014 Sep,2017     34
# 3 Apr,2015 Apr,2018     36

【讨论】:

    猜你喜欢
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 2015-01-27
    • 1970-01-01
    相关资源
    最近更新 更多