【发布时间】:2022-01-16 07:21:15
【问题描述】:
我有以下data.frame:
df <- data.frame(value = 1:23)
df |>
mutate(group = case_when(value < 4 ~ "A",
value >= 4 & value < 18 ~ "B",
value >= 18 & value <= 23 ~ "C"))
我想使用 mutate 再添加两列。第一个对每个组重复模式 c("white", "black") n 次
期望的结果:
value group color
1 1 A white
2 2 A black
3 3 A white
4 4 B white
5 5 B black
6 6 B white
7 7 B ...
8 8 B
9 9 B
10 10 B
11 11 B
12 12 B
13 13 B
14 14 B
15 15 B
16 16 B
17 17 B
18 18 C white
19 19 C black
20 20 C white
21 21 C ...
22 22 C
23 23 C
第二列对每组重复模式 1:nrows 两次。
value group color distance
1 1 A white 1
2 2 A black 1
3 3 A white 2
4 4 B white 1
5 5 B black 1
6 6 B white 2
7 7 B ... 2
8 8 B 3
9 9 B 3
10 10 B 4
11 11 B 4
12 12 B 5
13 13 B 5
14 14 B 6
15 15 B 6
16 16 B 7
17 17 B 7
18 18 C white 1
19 19 C black 1
20 20 C white 2
21 21 C ... 2
22 22 C 3
23 23 C 3
【问题讨论】: