【问题标题】:Add new column using case_when of other column in R使用 R 中其他列的 case_when 添加新列
【发布时间】:2021-03-09 16:32:00
【问题描述】:

我想在我的数据框中添加一列,该列根据包含“日期时间”变量的另一列取值,例如“mon”、“tue”、“wed”、“thu”等,但我可以'不要使用工作日功能,因为它也取决于一天中的时间。

即如果 created_at 列介于:2021-03-01 09:00:00 和 2021-03-02 09:00:00 之间,则新列应归类为“mon”。

另一方面,如果 created_at 介于 2021-03-02 09:00:00 和 2021-03-03 09:00:00 之间,它应该 归类为“星期二”。

本周剩下的时间以此类推。 (根据股市交易时间)

【问题讨论】:

  • 请使用dput显示示例数据
  • 股市总是在0900开盘吗?如果是这样,只需减去 9 小时

标签: r datetime if-statement dplyr case-when


【解决方案1】:

这应该可行:

library(lubridate)
library(dplyr)

df %>%
  mutate(
    result = wday(created_at - hours(9), label = TRUE)
  )

如果您有问题,请使用dput() 发布可重现的数据样本。

【讨论】:

  • 非常感谢,成功了!你知道我是否可以改变 wday 功能给我英文的 weekday 的缩写?我认为它正在跟踪我的计算机,这意味着我用我的本国语言获得了它。
  • locale = "English_United States.1252" 作为参数添加到wday
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-31
  • 2022-12-17
  • 1970-01-01
  • 2023-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多