使用dplyr重复数据框行但不按连续顺序排列的实现方法
你原来的代码中rep()使用了each = 3参数,作用是对每一行的索引单独重复3次,因此得到连续相同值的结果。要实现按原表整体重复3次的排序效果,仅需调整rep()的参数即可:
library(dplyr) data <- tibble(var = c("a", "b", "c")) %>% slice(rep(1:n(), times = 3))
如果你想要更直观的写法,也可以通过重复拼接3次原表实现,效果完全一致:
data <- tibble(var = c("a", "b", "c")) %>% bind_rows(., ., .)
运行以上任意一种代码,得到的结果都符合你的预期:
# A tibble: 9 × 1 var <chr> 1 a 2 b 3 c 4 a 5 b 6 c 7 a 8 b 9 c
内容的提问来源于stack exchange,提问作者psycho95
相关产品推荐
相关产品推荐

