在我的数据库中,我有治疗代码,并且可以计算出医疗保健活动率。我想进行多变量分析,以查看哪种治疗类型的患者最有可能接受回声和/或磁共振成像。
所有治疗方法都有几个医疗保健代码(字符)
anthracyclines = c("55", "68", "402")
trastuzumab = c("200", "201", "202")
alkylatingagents = c("106", "208", "300", "610")
现在我想对治疗方法做一个变数。 我是这样定义的:
treatments = as.factor(c(anthracyclines, trastuzumab, alkylatingagents))
但参考原始代码,R仍将其定义为10级因子。 我应该如何编码才能将其更改为3个级别?
模型最终应如下所示: 以成像百分比作为连续变量。
model.im = lm(imaging ~ as.factor(treatments) + Age)
提前感谢您的帮助!
答案 0 :(得分:1)
我们假设像您所说的治疗载体:
treatments = c(anthracyclines, trastuzumab, alkylatingagents)
如果按3种蒽环类药物,3种曲妥珠单抗和4种碱剂的顺序进行治疗和成像,则只需写
Treatment = rep(c("anthracyclines","trastuzumab","alkylatingagents"),times=c(3,3,4))
lm(imaging ~ Treatments + Age)
如果没有,请尝试列出要映射的列表
drug2cat = rep(c("anthracyclines","trastuzumab","alkylatingagents"),
times=c(length(anthracyclines),length(trastuzumab),length(alkylatingagents))
)
names(drug2cat) = c(anthracyclines, trastuzumab, alkylatingagents)
Treatments = drug2cat[treatments]
lm(imaging ~ Treatments + Age)