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

在R语言中如何按DV分组合并数据框中IV_list列的唯一文本值

R语言按分组合并唯一自变量的代码实现

依赖包

  • dplyr:用于数据分组、汇总操作
  • tidyr:用于字符串拆分、长表转换操作

自动生成示例数据df1(无需手动录入,基于mtcars生成)

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

# 固定随机种子保证结果可复现
set.seed(123)
# 构建自变量池,排除用作DV的列
iv_pool <- setdiff(colnames(mtcars), c("mpg", "disp", "hp"))
# 自动生成df1
df1 <- data.frame(
  test_number = 1:10,
  DV = sample(c("mpg", "disp", "hp"), 10, replace = TRUE),
  IV_list = replicate(10, paste(sample(iv_pool, sample(2:4, 1)), collapse = "+"))
)

核心处理代码

df2 <- df1 %>%
  # 按DV的唯一值分组
  group_by(DV) %>%
  # 按加号拆分IV_list,每个自变量单独生成一行
  separate_rows(IV_list, sep = "\\+") %>%
  # 保留分组内唯一的自变量,同时保留对应行的其他字段
  distinct(IV_list, .keep_all = TRUE) %>%
  # 按组汇总:拼接唯一自变量,取分组首个检验编号
  summarise(
    test_number = first(test_number),
    IV_list = paste(IV_list, collapse = "+")
  ) %>%
  # 调整列顺序与df1一致
  select(test_number, DV, IV_list)

可选调整说明

如果需要保留每个DV分组下所有对应的检验编号,将summarise中test_number的赋值逻辑替换为test_number = paste(test_number, collapse = ",")即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:54:02