【问题标题】:How to convert a partial date for a dataframe in R into a date column?如何将 R 中数据框的部分日期转换为日期列?
【发布时间】:2020-10-28 17:38:38
【问题描述】:

所以假设我有一个像这样的df:

   <chr>          <chr>            <chr>
  Category        Date             Type
1 x               Jan 2              g
2 x2              Jan 5              a
3 x3              Mar 7              b
4 x4              Apr 9              c 
5 x5              Dec 12             o

如何使用 lubridate 库将我的角色日期转换为实际日期?

我一直在尝试使用 lubridate,但不确定如何将字符转换为数字,例如Jan 转换为 1,Mar 转换为 3 或直接转换它们,因为它们不在 mdy() 函数范围内,因为它们是部分日期。

【问题讨论】:

  • 正确的日期值也有年份。你想假设所有这些日期都在同一年吗?如果有,是哪一年?
  • 如果没有日期,我想我会用一个占位符说 2020。我将如何在 R 和 lubridate 中执行此操作? @MrFlick

标签: r lubridate


【解决方案1】:

只需提供一年:

x <- c("Jan 2")
as.Date(paste0("2020 ", x), "%Y %b %d")
# "2020-01-02"

【讨论】:

    【解决方案2】:

    我们可以使用

    library(lubridate)
    mdy(x, truncated = 2)
    #[1] "2020-01-02"
    

    数据

    x <- "Jan 2"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多