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

R语言中如何实现列值按不同次数重复填充?

解决R数据框中列元素按不同次数重复的问题

嘿,这个需求其实用rep()函数就能轻松搞定!你之前用的each参数是让每个元素重复相同次数,而我们需要为每个元素指定独立的重复次数,这时候换用times参数就完美适配啦!

具体实现步骤

假设你需要:

  • "Week 1" 重复3次
  • "Week 2" 重复5次
  • "Week 3" 重复30次

可以这样写代码:

# 1. 定义要重复的周标签和对应的重复次数
week_names <- c("Week 1", "Week 2", "Week 3")
repeat_times <- c(3, 5, 30)

# 2. 创建数据框(这里以添加一个随机数值列为例,你可以替换成自己的业务列)
total_rows <- sum(repeat_times)
df <- data.frame(
  Metric = rnorm(total_rows)
)

# 3. 按指定次数填充Week列
df$Week <- rep(week_names, times = repeat_times)

验证结果

你可以用table()函数检查每个周标签的重复次数是否符合预期:

table(df$Week)

输出应该是:

Week 1 Week 2 Week 3 
      3       5      30 

关键参数区别说明

  • each = n:让每个元素都重复n次,比如rep(c("A","B"), each=2)会得到c("A","A","B","B")
  • times = c(n1, n2):让第一个元素重复n1次,第二个元素重复n2次,比如rep(c("A","B"), times=c(2,3))会得到c("A","A","B","B","B")

这个方法灵活性拉满,不管你需要的重复次数是多少,只要把次数按顺序放到times对应的向量里就可以了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:45:04