根据其他日期列创建列
Create column based on other Date column
您好,我的数据中有这一列
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"))
我想创建一个名为分类器的新列,其中包含 3 个值,以列 validation_date 为条件,其中 2021-07-26 之前的日期名称为 classifier_1,2021-07 之后的日期-26 和 2021-08-19 之前的名称为 classifier_2,19-08-2021 之后的日期名称为 classifier_3.
谢谢
请在下面找到使用 data.table
的解决方案
Reprex
- 代码
library(data.table)
library(lubridate)
setDT(df)[, classifiers := fcase(validation_date < ymd("2021-07-26"), "classifier_1",
validation_date >= ("2021-07-26") & validation_date < ymd("2021-08-19"), "classifier_2",
validation_date >= ymd("2021-08-19"), "classifier_3")][]
- 输出
#> validation_date classifiers
#> 1: 2021-07-09 classifier_1
#> 2: 2021-07-10 classifier_1
#> 3: 2021-07-12 classifier_1
#> 4: 2021-07-12 classifier_1
#> 5: 2021-07-13 classifier_1
#> 6: 2021-08-03 classifier_2
#> 7: 2021-08-04 classifier_2
#> 8: 2021-08-04 classifier_2
#> 9: 2021-08-04 classifier_2
#> 10: 2021-08-04 classifier_2
#> 11: 2021-08-04 classifier_2
#> 12: 2021-09-20 classifier_3
#> 13: 2021-09-20 classifier_3
#> 14: 2021-09-20 classifier_3
#> 15: 2021-09-23 classifier_3
#> 16: 2021-09-23 classifier_3
#> 17: 2021-09-23 classifier_3
#> 18: 2021-08-19 classifier_3
#> 19: 2021-08-19 classifier_3
#> 20: 2021-08-19 classifier_3
#> 21: 2021-08-19 classifier_3
#> 22: 2021-08-19 classifier_3
#> 23: 2021-08-20 classifier_3
#> 24: 2021-07-23 classifier_1
#> 25: 2021-07-23 classifier_1
#> 26: 2021-07-23 classifier_1
#> 27: 2021-07-23 classifier_1
#> 28: 2021-07-23 classifier_1
#> 29: 2021-07-26 classifier_2
#> 30: 2021-07-22 classifier_1
#> 31: 2021-07-22 classifier_1
#> 32: 2021-07-22 classifier_1
#> 33: 2021-07-22 classifier_1
#> 34: 2021-07-22 classifier_1
#> 35: 2021-07-23 classifier_1
#> 36: 2021-09-17 classifier_3
#> 37: 2021-09-20 classifier_3
#> 38: 2021-09-20 classifier_3
#> 39: 2021-09-20 classifier_3
#> 40: 2021-09-20 classifier_3
#> 41: 2021-09-20 classifier_3
#> validation_date classifiers
由 reprex package (v2.0.1)
于 2021-11-16 创建
您好,我的数据中有这一列
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"))
我想创建一个名为分类器的新列,其中包含 3 个值,以列 validation_date 为条件,其中 2021-07-26 之前的日期名称为 classifier_1,2021-07 之后的日期-26 和 2021-08-19 之前的名称为 classifier_2,19-08-2021 之后的日期名称为 classifier_3.
谢谢
请在下面找到使用 data.table
Reprex
- 代码
library(data.table)
library(lubridate)
setDT(df)[, classifiers := fcase(validation_date < ymd("2021-07-26"), "classifier_1",
validation_date >= ("2021-07-26") & validation_date < ymd("2021-08-19"), "classifier_2",
validation_date >= ymd("2021-08-19"), "classifier_3")][]
- 输出
#> validation_date classifiers
#> 1: 2021-07-09 classifier_1
#> 2: 2021-07-10 classifier_1
#> 3: 2021-07-12 classifier_1
#> 4: 2021-07-12 classifier_1
#> 5: 2021-07-13 classifier_1
#> 6: 2021-08-03 classifier_2
#> 7: 2021-08-04 classifier_2
#> 8: 2021-08-04 classifier_2
#> 9: 2021-08-04 classifier_2
#> 10: 2021-08-04 classifier_2
#> 11: 2021-08-04 classifier_2
#> 12: 2021-09-20 classifier_3
#> 13: 2021-09-20 classifier_3
#> 14: 2021-09-20 classifier_3
#> 15: 2021-09-23 classifier_3
#> 16: 2021-09-23 classifier_3
#> 17: 2021-09-23 classifier_3
#> 18: 2021-08-19 classifier_3
#> 19: 2021-08-19 classifier_3
#> 20: 2021-08-19 classifier_3
#> 21: 2021-08-19 classifier_3
#> 22: 2021-08-19 classifier_3
#> 23: 2021-08-20 classifier_3
#> 24: 2021-07-23 classifier_1
#> 25: 2021-07-23 classifier_1
#> 26: 2021-07-23 classifier_1
#> 27: 2021-07-23 classifier_1
#> 28: 2021-07-23 classifier_1
#> 29: 2021-07-26 classifier_2
#> 30: 2021-07-22 classifier_1
#> 31: 2021-07-22 classifier_1
#> 32: 2021-07-22 classifier_1
#> 33: 2021-07-22 classifier_1
#> 34: 2021-07-22 classifier_1
#> 35: 2021-07-23 classifier_1
#> 36: 2021-09-17 classifier_3
#> 37: 2021-09-20 classifier_3
#> 38: 2021-09-20 classifier_3
#> 39: 2021-09-20 classifier_3
#> 40: 2021-09-20 classifier_3
#> 41: 2021-09-20 classifier_3
#> validation_date classifiers
由 reprex package (v2.0.1)
于 2021-11-16 创建