【发布时间】:2021-12-27 20:18:57
【问题描述】:
您好,我的数据中有此列
df <- structure(list(validation_date = structure(c(18817, 18818, 18820,
18820, 18821, 18842, 18843, 18843, 18843, 18843, 18843, 18890,
18890, 18890, 18893, 18893, 18893, 18858, 18858, 18858, 18858,
18858, 18859, 18831, 18831, 18831, 18831, 18831, 18834, 18830,
18830, 18830, 18830, 18830, 18831, 18887, 18890, 18890, 18890,
18890, 18890), class = "Date")), row.names = c(NA, -41L), class = c("tbl_df",
"tbl", "data.frame"))
我将创建一个名为 classifiers 的新列,其中包含 3 个值,以列 validation_date 为条件,其中 2021-07-26 之前的日期名称为 classifier_1,2021-07-26 之后和 2021-08-19 之前的日期具有名称 classifier_2 和 2021 年 8 月 19 日之后的日期名称为 classifier_3。
谢谢
【问题讨论】:
-
使用
dplyr包:df %>% mutate(classifiers = case_when(validation_date < as.POSIXct("2021-07-26") ~ "classifier_1", validation_date < as.POSIXct("2021-08-19") ~ "classifier_2", TRUE ~ "classifier_3"))。
标签: r dataframe dplyr data.table