首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据多行诊断代码分配诊断类别

根据多行诊断代码分配诊断类别
EN

Stack Overflow用户
提问于 2019-12-13 04:31:50
回答 1查看 21关注 0票数 0

我有一个包含5235名患者的数据集,每个患者在自己的行中都有来自第2:88列的可变数量的诊断代码(一些患者有1个代码,另一些患者有2个代码,依此类推)。每个都有自己的ID。

我有一个代码列表(例如,流感= 29,38,40)。如果存在代码(29、38、40)中的任何一个,我将尝试分配一个指示变量influenza =1。如果不存在任何代码,则流感=0。

我首先使用包含诊断代码的行创建了一个向量

代码语言:javascript
复制
varlist <- DXE[,2:88]

然后,我使用for循环来查看整个数据集。

代码语言:javascript
复制
for (col in varlist) { if (29 | 38 | 40 %in% varlist){ DXE$influenza == 1} else{DXE$influenza == 0}}

然而,当我查看输出时,整个“流感”行= 1。

EN

回答 1

Stack Overflow用户

发布于 2019-12-13 07:20:07

我猜想,如果患者有流感代码之一,您希望将其赋值为1,如果没有,则将其赋值为0,您可以简单地创建一个布尔矩阵,然后找到rowMeans。任何大于0的rowMeans都会得到1,因为至少在其中一列中有一个流感条目

代码语言:javascript
复制
#simulate data
DXE = data.frame(ID=1:5235,
matrix(sample(1:200,5235*87,replace=TRUE),ncol=87))
head(DXE)
influenza_code = c(29,38,40)
DXE$influenza = as.numeric(rowMeans(DXE[,2:88]==29 | DXE[,2:88]==38 | DXE[,2:88]==40)>0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59312277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档