【发布时间】:2022-07-22 18:01:41
【问题描述】:
为了进一步处理,我需要将我的数据分成不应超过特定行大小的块,条件是属于同一组的案例不应分成不同的块,并且组大小是不同的。
假设我有这样的表:
df <- tibble(id = c("id1", "id1", "id2", "id2", "id2", "id3", "id4", "id5", "id5", "id6"),
group_size = c(2, 2, 3, 3, 3, 1, 1, 2, 2, 1))
id group_size
<chr> <dbl>
1 id1 2
2 id1 2
3 id2 3
4 id2 3
5 id2 3
6 id3 1
7 id4 1
8 id5 2
9 id5 2
10 id6 1
如果块大小不应该大于3。那么表示哪个case属于哪个分割部分的变量应该是这样的:
id group_size part
<chr> <dbl> <dbl>
1 id1 2 1
2 id1 2 1
3 id2 3 2
4 id2 3 2
5 id2 3 2
6 id3 1 3
7 id4 1 3
8 id5 2 4
9 id5 2 4
10 id6 1 4
是否已经有可以完成这项工作的函数或包,如果没有,如何编程?
【问题讨论】:
标签: r