为多元分析定义标称变量

define nominal variable for multivariate analysis

在我的数据库中,我有治疗代码,我可以计算医疗保健 activity 率。我想进行多变量分析,看看哪种治疗类型的患者最有可能接受回声 and/or mri。

治疗都有几个保健码(字符)

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)

在此先感谢您的帮助!

我们假设您所说的处理向量:

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)