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

技术问询:如何在R语言中利用HELPmiss数据集创建新数据集及筛选treat=yes的患者子集

在R语言中处理HELPmiss数据集的两种常见操作

嘿,我来帮你搞定这两个关于HELPmiss数据集的操作问题!先提醒下,HELPmiss数据集一般来自mice包,所以如果还没加载的话,先跑这两行代码:

library(mice)
data(HELPmiss)

1. 基于HELPmiss创建新数据集

根据你的需求,有几种常见的创建方式:

  • 复制完整数据集:如果你想要一个和原数据集完全一样的副本,直接赋值就行:
    new_full_data <- HELPmiss
    
  • 选择部分变量创建子集:如果只需要原数据中的特定变量,比如保留年龄、性别和分组变量,可以用两种写法:
    基础R写法:
    new_subset_data <- HELPmiss[, c("age", "sex", "treat")]
    
    tidyverse(dplyr)写法:
    library(dplyr)
    new_subset_data <- HELPmiss %>% select(age, sex, treat)
    
  • 添加新变量后生成新数据集:如果需要在原数据基础上新增变量(比如计算年龄的平方),然后保存为新数据集:
    new_data_with_new_var <- HELPmiss %>% mutate(age_squared = age^2)
    

2. 创建仅包含treat = yes人群的新数据集

筛选特定分组的数据是很常见的操作,同样给你两种主流写法:

  • 基础R方法:直接用行索引筛选,注意treat是字符型变量要加引号,同时可以排除NA值避免干扰:
    treat_yes_data <- HELPmiss[HELPmiss$treat == "yes" & !is.na(HELPmiss$treat), ]
    
  • tidyverse(dplyr)方法:用filter()函数更直观,可读性更强:
    treat_yes_data <- HELPmiss %>% 
      filter(treat == "yes", !is.na(treat))
    
    如果你确定数据里treat没有NA值,也可以简化成filter(treat == "yes")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 15:54:08