代码之家  ›  专栏  ›  技术社区  ›  Morpheus

将r中的字符串转换为日期返回nas

  •  2
  • Morpheus  · 技术社区  · 6 年前

    我的数据框架中有一列

     date
    17-Feb
    17-Mar
    16-Dec
    16-Nov
    16-Sep
    17-Feb
    

    我想把它转换成 date 列从 string . 我使用以下代码:

     as.Date(df$Date, format="%y-%b")
    

     as.POSIXct(df$Date, format="%y-%b")
    

    他们两个都给 NA S

    我要从 this link

    起始数字是年份。不好意思弄混了。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Mike S    6 年前

    根据您的方法,我假设17年和16年分别指2017年和2016年。您还需要指定月份的日期。如果你不在乎,那就把它设为第一个。

    稍微修改一下代码就可以了,方法是在日期后添加“-01”,然后更新 format 反映这一点的理由:

    df = data.frame(Date = c("17-Feb", "17-Mar", "16-Dec"))
    as.Date(paste0(df$Date, "-01"), format="%y-%b-%d")