首页 > 解决方案 > 在 R 中创建分类变量

问题描述

我正在尝试创建一个基于 ICD 代码的分类变量。

head(obesity)
ICD.9.Code  Encounter.ID
E66.01    408773
E66.3     542207
E66.3     358741
E66.09    342534

obesity$obesity<- ifelse(obesity$ICD.9.Code =="E66.3", 1,      
             ifelse(obesity$ICD.9.Code=="E66.9"|obesity$ICD.9.Code=="E66.8"|obesity$ICD.9.Code=="E66.09",2,      
              ifelse(obesity$ICD.9.Code=="E66.1"|obesity$ICD.9.Code=="E66.2",3,4)))

但我不断收到此错误

我希望数据如下所示,请帮忙

ICD.9.Code  Encounter.ID  Obesity
E66.01    408773     4
E66.3     542207     1
E66.3     358741     1
E66.09    342534     2

标签: rreshape

解决方案


这是使用的解决方案data.table

obesity<-as.data.table(obesity)
obesity[ICD.9.Code == "E66.3",Obesity := 1]
obesity[ICD.9.Code == "E66.9" | ICD.9.Code == "E66.8" | ICD.9.Code == "E66.09",Obesity := 2]
obesity[ICD.9.Code == "E66.1" | ICD.9.Code == "E66.2",Obesity := 3]
obesity[is.na(Obesity),Obesity := 4]

希望有帮助。


推荐阅读