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

如何在R语言数据框中按两行求和并重复填充新列

实现每两行求和并重复填充的R方案

这里提供两种实用方法来实现你的需求:

方法一:Base R 原生实现

无需额外安装包,直接用基础函数完成:

x1 <- c(0,1,1,1,1,0)
df <- data.frame(x1)

# 生成每2行一组的分组索引
groups <- rep(seq_len(nrow(df) %/% 2), each = 2)
# 按组求和后重复填充到对应行
df$x2 <- rep(tapply(df$x1, groups, sum), each = 2)

执行后df的x2列会得到[1,1,2,2,1,1],完全符合需求。如果你的数据行数是奇数,只需将分组数改为ceiling(nrow(df)/2)即可兼容最后单独一行的情况。

方法二:Tidyverse 风格实现

如果你习惯用dplyr这类工具,可以用分组计算的方式:

library(dplyr)

df <- df %>%
  # 创建分组标记:每2行一组
  mutate(group = rep(row_number() %/% 2 + 1, each = 2, length.out = nrow(df))) %>%
  # 按分组计算求和值并填充到每行
  group_by(group) %>%
  mutate(x2 = sum(x1)) %>%
  ungroup() %>%
  # 可选:移除临时分组列
  select(-group)

这种方式代码可读性更强,适合后续扩展更复杂的数据框操作场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 01:20:31