You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中将dataframe重复堆叠100次并添加迭代编号列?

重复堆叠数据框并添加迭代标识的实现方案

方法一:使用 dplyr

无需手动重复输入数据框100次,只需生成包含100份目标数据框的列表,再通过 bind_rows() 合并并指定 .id 参数添加迭代标识:

library(dplyr)

# 生成100份iris的列表,合并后添加迭代编号列
stacked_iris_dplyr <- bind_rows(rep(list(iris), 100), .id = "iteration_id")

方法二:使用 data.table

你提到的思路完全可行——将数据框重复存入列表100次,再用 rbindlist() 的 idcol 参数实现需求,这种方法在处理大规模数据时性能更优:

library(data.table)

# 生成100份iris的列表,合并后添加迭代编号列
stacked_iris_dt <- rbindlist(rep(list(iris), 100), idcol = "iteration_id")

注意事项

  • rep(list(iris), 100) 是核心:直接使用 rep(iris, 100) 会按列重复数据,只有将数据框包裹为列表再重复,才能得到完整的数据集副本列表。
  • 两种方法生成的结果结构一致,iteration_id 列的值从1到100,对应每行所属的重复批次。

内容的提问来源于stack exchange,提问作者CyG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 06:22:46