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

如何自动提取meta分析数据集中作者唯一的所有行组合?

需求描述

我正在开展一项meta分析,数据集中部分作者有多篇研究记录,这可能引入偏倚。需要自动提取所有每个作者仅出现一次的行组合(示例数据共有4种可行组合),避免手动操作,以便后续对提取出的数据集进行分析。

示例数据
sample <- data.frame(Author = c('a','a','b','b','c'),
                     Year = c('2020','2016', '2020','2010','2005'),
                     Value = c(3,1,2,4,5),
                     UniqueName = c('a 2020', 'a 2016', 'b 2020', 'b 2010', 'c 2005'))

数据预览:

Author Year Value UniqueName
1      a 2020     3     a 2020
2      a 2016     1     a 2016
3      b 2020     2     b 2020
4      b 2010     4     b 2010
5      c 2005     5     c 2005
自动实现方案

使用tidyverse工具包可以高效完成这个需求,代码如下:

library(tidyverse)

# 生成所有符合要求的作者行组合
author_combinations <- sample %>%
  # 按作者分组,将每个作者的所有行嵌套为列表
  group_by(Author) %>%
  nest() %>%
  # 转换为命名列表:键为作者名,值为对应的数据行
  deframe() %>%
  # 生成所有作者行的笛卡尔积(即每个作者选一行的所有组合)
  cross_df() %>%
  # 将每个组合中的单行数据框绑定为完整数据集
  mutate(combined = pmap(., bind_rows)) %>%
  # 提取所有组合的数据集列表
  pull(combined)
结果验证

运行代码后,author_combinations是一个列表,每个元素就是你需要的单个组合数据集:

  • 查看第一个组合:author_combinations[[1]]
  • 查看第二个组合:author_combinations[[2]]
  • 以此类推,会自动生成所有可能的组合(示例中为4种),完全无需手动筛选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:10:15