【问题标题】:R - Convert CHR to Date [duplicate]R - 将 CHR 转换为日期 [重复]
【发布时间】:2019-07-18 09:11:30
【问题描述】:

我正在寻找一种将chr 转换为日期的方法。当前的csv格式是这样的:"Jul 6, 2004"

当我尝试时

df$Date <- as.Date(df$Date) 

我收到此错误:

charToDate(x) 中的错误: 字符串不是标准的明确格式

【问题讨论】:

    标签: r


    【解决方案1】:

    我们也可以使用lubridate:

    test<-"Jul 6, 2004"
    lubridate::mdy(test)
    #[1] "2004-07-06"
    

    【讨论】:

    • 我想跟进这个问题仍然没有解决。该列有两种不同的格式。一个是“2019 年 6 月 30 日”或只是诸如 2021 年之类的年份。鉴于可能遇到任何一种格式,我想我需要一个更高级的函数或其他东西来更正该列。
    • 你可以而且应该问一个新问题。很难知道目标是什么,抱歉。
    • 在一些外部帮助下解决了这个问题。由于列有两种不同的格式,我们意识到清理它的最简单方法是获取列中的最后 4 个字符。这是关键,因为它是两种格式之间的共同链接。
    【解决方案2】:

    您需要指定日期字符串的format,例如在你的情况下

    ss <- "Jul 6, 2004"   
    as.Date(ss, format = "%b %d, %Y")
    #[1] "2004-07-06"
    

    有关详细信息,请参阅?Date,有关所有转换规范的说明,请参阅?strptime

    如果format 没有明确给出,as.Date(默认)假定字符串为"%Y-%m-%d""%Y/%m/%d" 格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      相关资源
      最近更新 更多