【问题标题】:Clean and Format Dates in R在 R 中清理和格式化日期
【发布时间】:2021-02-23 19:32:44
【问题描述】:

在我的数据集中,有一个名为“日期”的列,所有日期值的开头都有一个字母“X”。我想将此列转换为 YYYY-MM-DD 格式。任何人都可以帮助我。

【问题讨论】:

  • 试试df$Date <- as.Date(df$Date, "X%Y.%m.%d")(记得用df替换你的数据框)

标签: r date format data-cleaning


【解决方案1】:

这里有一些关于如何提供正确的reproducible example 的信息。

这是使用dplyrlubridate 包的解决方案。

数据:

df <- tibble::tibble(
  Country = c("Afghanistan",
              "Algeria",
              "Andorra",
              "Angola",
              "Antigua and Barbuda",
              "Argentina",
              "Armenia",
              "Australia",
              "Austria",
              "Azerbaijan"),
  Date = c("X2020.01.22",
           "X2020.01.22",
           "X2020.01.22",
           "X2020.01.22",
           "X2020.01.22",
           "X2020.01.22",
           "X2020.01.22",
           "X2020.01.22",
           "X2020.01.22",
           "X2020.01.22"),
  Recovered = c(0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0)
)

代码:

library(lubridate)
library(dplyr)

df %>% 
  mutate(
    Date = as_date(Date, format = "X%Y.%m.%d")
  )

输出:

#> # A tibble: 10 x 3
#>    Country             Date       Recovered
#>    <chr>               <date>         <dbl>
#>  1 Afghanistan         2020-01-22         0
#>  2 Algeria             2020-01-22         0
#>  3 Andorra             2020-01-22         0
#>  4 Angola              2020-01-22         0
#>  5 Antigua and Barbuda 2020-01-22         0
#>  6 Argentina           2020-01-22         0
#>  7 Armenia             2020-01-22         0
#>  8 Australia           2020-01-22         0
#>  9 Austria             2020-01-22         0
#> 10 Azerbaijan          2020-01-22         0

reprex package (v0.3.0) 于 2020 年 11 月 11 日创建

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2015-07-26
    相关资源
    最近更新 更多