【发布时间】:2019-05-30 10:52:21
【问题描述】:
我有以下数据框:
df = structure(list(Group = c(1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3,
3), index = c(1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 1, 2, 3)), row.names = c(NA,
-13L), class = c("tbl_df", "tbl", "data.frame"))
我想根据 Group 列复制列索引,一次每个数字连续出现n 次,第二次所有数字作为一个组出现n 次,其中n 是组的大小(类似于 rep 与 rep 和 each)。
所以输出看起来像这样(让我们只看第 1 组,因为它太长了):
第一个选项:
df = structure(list(Group = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1), index = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4,
4, 4, 4)), row.names = c(NA, -16L), class = c("tbl_df", "tbl",
"data.frame"))
第二个选项:
df = structure(list(Group = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1), index = c(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1,
2, 3, 4)), row.names = c(NA, -16L), class = c("tbl_df", "tbl",
"data.frame"))
如何使用 group_by 执行此操作?
【问题讨论】:
标签: r dplyr replication