我有一个例子DF:
df <- structure(list(A = c('A', 'B', 'C', 'D', 'E', 'F'),
B = c(2, 5, 8, 12, 15, 18)), class = "data.frame", row.names = c(NA, -6L))
A B
1 A 2
2 B 5
3 C 8
4 D 12
5 E 15
6 F 18
我想在像这样的组中添加值为B
的行和值为B
的行:
A B
1 A 1
2 A 2
3 A 3
4 B 4
5 B 5
6 B 6
7 C 7
8 C 8
9 C 9
10 D 11
11 D 12
12 D 13
13 E 14
14 E 15
15 E 16
16 F 17
17 F 18
18 F 19
所以我做了这样的事情,它就成功了:
df %>%
group_by(A) %>%
complete(B = B + c(-1,1)) %>%
arrange(B)
但我的真实数据...假设重复组:
df <- structure(list(A = c('A', 'A', 'C', 'D', 'E', 'F'),
B = c(2, 5, 8, 12, 15, 18)), class = "data.frame", row.names = c(NA, -6L))
A B
1 A 2
2 A 5
3 C 8
4 D 12
5 E 15
6 F 18
我仍然想给组中的每个元素加上1和-1
,保留原来的元素并保持组中的顺序:
A B
1 A 1
2 A 2
3 A 3
4 A 4
5 A 5
6 A 6
7 C 7
8 C 8
9 C 9
10 D 11
11 D 12
12 D 13
13 E 14
14 E 15
15 E 16
16 F 17
17 F 18
18 F 19
我的解决方案不工作没有更多的给予:
A B
1 A 1
2 A 2
3 A 5
4 A 6
5 C 7
6 C 8
(...)
你能告诉我如何修改我的dplyr
码吗?