【发布时间】:2019-02-24 16:07:16
【问题描述】:
如何创建一个新列,通过Year + Month 的唯一梳组累积识别Letter 列中出现的新值?
数据样本。
require(data.table)
dt <- data.table(Letter = c(LETTERS[c(5, 1:2, 1:2, 1:4, 3:6)]),
Year = 2018,
Month = c(rep(5,5), rep(6,4), rep(7,4)))
打印。
Letter Year Month
1: E 2018 5
2: A 2018 5
3: B 2018 5
4: A 2018 5
5: B 2018 5
6: A 2018 6
7: B 2018 6
8: C 2018 6
9: D 2018 6
10: C 2018 7
11: D 2018 7
12: E 2018 7
13: F 2018 7
我想要得到的结果:
Letter Year Month New
1: E 2018 5 TRUE
2: A 2018 5 TRUE
3: B 2018 5 TRUE
4: A 2018 5 TRUE
5: B 2018 5 TRUE
6: A 2018 6 FALSE
7: B 2018 6 FALSE
8: C 2018 6 TRUE
9: D 2018 6 TRUE
10: C 2018 7 FALSE
11: D 2018 7 FALSE
12: E 2018 7 FALSE
13: F 2018 7 TRUE
详细问题:
- Group1(“E”、“A”、“B”、“A”、“B”)默认为 TRUE,没有可比性。
- group2 中的哪些字母(“A”、“B”、“C”、“D”)在 group1 中不重复。
- 那么,第 3 组(“C”、“D”、“E”、“F”)中的哪些字母在第 1 组和第 2 组(“E”、“A”、“B”、“A”)中不重复、“B”、“A”、“B”、“C”、“D”)。
【问题讨论】:
标签: r dataframe dplyr data.table tidyverse