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

如何在Stata中通过多条件生成三个基于ICD编码的新变量?

Stata实现代码:基于ICD编码生成COVID相关死亡分类变量

以下是针对需求的Stata实现代码,同时兼容不同版本的Stata:

方法1:适用于Stata 16及以上版本(使用rowanymatch()函数)

* 生成Var1:主要因COVID死亡
gen Var1 = (Ucod == "U07.1")

* 生成Var2:非COVID主死因但合并COVID
gen Var2 = (Ucod != "U07.1") & rowanymatch(Record_2-Record_20, "U07.1")

* 生成Var3:非COVID主死因且无COVID合并
gen Var3 = (Ucod != "U07.1") & !rowanymatch(Record_2-Record_20, "U07.1")

方法2:适用于Stata 15及以下版本(兼容旧版本)

* 先标记其他记录中是否存在U07.1
gen has_covid = 0
foreach var of varlist Record_2-Record_20 {
    replace has_covid = 1 if `var' == "U07.1"
}

* 生成三个分类变量
gen Var1 = (Ucod == "U07.1")
gen Var2 = (Ucod != "U07.1") & has_covid
gen Var3 = (Ucod != "U07.1") & !has_covid

* 可选:删除中间变量has_covid
drop has_covid

代码说明

  • Var1:仅当主死因编码Ucod严格等于U07.1时赋值为1,其余情况为0
  • Var2:满足两个条件时赋值为1:主死因不是U07.1,且Record_2到Record_20中至少有一个变量的编码为U07.1
  • Var3:满足两个条件时赋值为1:主死因不是U07.1,且Record_2到Record_20中所有变量的编码都不为U07.1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:05:17