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

将研究水平Meta分析数据转换为个体患者水平数据

将研究水平Meta分析数据转换为个体患者水平数据

下面是用R语言实现转换的具体代码和说明:

首先加载tidyverse工具包(首次运行需先安装,执行install.packages("tidyverse")),再处理你的数据:

# 安装并加载tidyverse工具包(首次运行需安装)
# install.packages("tidyverse")
library(tidyverse)

# 读取原始研究水平数据
data2 <- read.table(text="STUDY   TOTAL   POAF    Age_POAF
CRESWELL, 1993  3983    1378    99
ARANKI, 1996    570 189 77
KOLVEKAR, 1997  50  25  NA
ALMASSI, 1997   3855    1143    66.8
TAMIS, 2000 216 55  NA
STAMOU, 2000    969 206 69
HAKALA, 2002    3676    1141    63.9
HRAVNAK, 2002   814 260 69.6
SILVA, 2004 158 45  NA
VILLAREAL, 2004 6475    994 66
", header=T, sep="\t")

# 转换为个体患者水平数据
ipd_data <- data2 %>%
  rowwise() %>%
  # 生成对应研究的POAF状态:前POAF条标记为Yes,剩余为No
  mutate(POAF = list(c(rep("Yes", POAF), rep("No", TOTAL - POAF)))) %>%
  # 将状态列表展开为单行对应一个患者
  unnest_longer(POAF) %>%
  ungroup()

# 查看转换后的前几行结果
head(ipd_data)

代码说明

  • rowwise():按每个研究单独处理数据
  • mutate(POAF = list(...)):为每个研究生成包含TOTAL个元素的状态向量,前POAF个值为"Yes",剩下的为"No";如果需要用1/0标记,把"Yes"换成1、"No"换成0即可
  • unnest_longer(POAF):把状态向量拆分成多行,每行对应一个患者
  • 原始的Age_POAF值会自动重复到对应研究的所有患者行中,包括NA值也会保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:16:12