【问题标题】:R - changing date's orderR - 更改日期的顺序
【发布时间】:2022-07-22 00:06:49
【问题描述】:

我有一个数据框(dat),带有一个“日期”变量,格式为 dd.mm.yyyy(例如:31.12.2022)

  1. 我想知道如何将其反转为 yyyy.mm.dd?

  2. 我还尝试将 d、m 和 y 分开,以便我可以将它们重新合并到不同的列中,但我遇到了这个问题。

    dat2

给出此消息警告消息:预期 3 件。 在 1566 行 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...]。

感谢任何建议。

谢谢。

【问题讨论】:

    标签: r date


    【解决方案1】:

    我喜欢你已经尝试过的方法,并认为你可以继续这样做。首先将列转换为日期并使用 format 重新排列它,如 cmets 中所述,这绝对是解决此问题的最佳方法,但我想解释一下为什么在尝试时会收到该错误消息方式:

    您收到错误消息是因为 tidyr::seperate 中的 sep 参数需要正则表达式。您现在使用的是sep = ".",但. 是正则表达式中的特殊字符,表示任何字符。

    如果您想匹配一个点,您需要使用 \\. 对其进行转义

    这应该对你有用,然后从那里继续。

    dat2 <- separate(data = dat, 
                     col = "date", 
                     sep = "\\.", 
                     into = c("session_day","session_month", "session_year"))
    

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 2023-01-23
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多