【问题标题】:Converting Character Column to Date in R with Lubridate使用 Lubridate 在 R 中将字符列转换为日期
【发布时间】:2019-04-10 22:02:30
【问题描述】:

我有一个名为 date 的字符列,其中包含诸如“2015 年 1 月 15 日”之类的数据 我正在尝试使用 as.date 函数将其转换为 ymd 格式,并且我还尝试了 lubridate 包。 我尝试过以下方法:

shootings$Date <- ymd(shootings$Date))

shootings$Date <- as.Date(as.character(shootings$Date))

如果可能的话,我希望它看起来像 2013-01-01 (ymd)。但我不断遇到解析问题,或者数据只是进入 N/A。 任何帮助将不胜感激

【问题讨论】:

标签: r date lubridate


【解决方案1】:

你想要的是

mdy("January 15, 2015")
# [1] "2015-01-15"

问题在于函数名称必须与您的输入格式(mdy)相对应,而不是所需的输出(ymd)。

【讨论】:

  • 非常感谢!它也让我对代码有了很好的理解
  • @JuliusVainora 谢谢!我使用mdy_hms() 对我的数据进行了尝试,格式为“12/18/1996 0:00:00”,因为这是我的输入格式,但我的列变成了所有 NA。你能帮助澄清为什么会这样吗?感谢您抽出宝贵的时间!
【解决方案2】:

随时使用

# example data
x <- "January 15, 2015"

library(anytime)

anydate(x)
# [1] "2015-01-15"

【讨论】:

    【解决方案3】:

    我们可以用 lubridate 库解决这个问题

    library(lubridate)
    
    shootings %>% mdy(January 15, 2015)
    
    output - 2015-01-15
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 2018-01-03
      • 2016-07-20
      • 2018-05-31
      • 2021-07-10
      • 2017-09-02
      • 2021-12-18
      相关资源
      最近更新 更多