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

R数据框按行求和后首列值按行总和重复的转换方法咨询

R Dataframe 转换实现方案

方案1:tidyverse 实现(可读性高,适合新手)

依赖dplyr和tidyr包,逻辑清晰易懂:

# 加载依赖包
library(dplyr)
library(tidyr)

# 替换df为你的实际数据框名称
output_df <- df %>%
  # 若你的数据没有提前计算好Sum列,可取消注释下行自行计算(排除首列X1的行求和)
  # mutate(Sum = rowSums(select(., -X1))) %>%
  # 按Sum值的次数重复对应行
  uncount(weights = Sum) %>%
  # 仅保留需要的首列结果
  select(X1)

方案2:Base R 实现(无需额外安装包)

用原生函数即可快速实现:

# 替换df为你的实际数据框名称
output_df <- data.frame(
  X1 = rep(x = df$X1, times = df$Sum)
)

结果说明

运行后得到的output_df为单列数据,结构和提供的期望输出完全一致:10重复16次、20重复1次、30重复1次、40重复9次,共27行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 11:24:05