r - 为多元分析定义名义变量
问题描述
在我的数据库中,我有治疗代码,我可以计算医疗保健活动率。我想进行多变量分析,看看哪种治疗类型的患者最有可能收到回声和/或核磁共振。
治疗都有几个医疗保健代码(字符)
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)
推荐阅读
- python-3.x - Python pypyodbc ValueError: microsecond must be in 0..999999
- android - Making ListView Clickable React Native
- javascript - Leaflet JS - external controls
- google-apps-script - 必须在每个新副本上启用 Admin SDK
- javascript - 检索两个频道的消息列表
- node.js - 访问 AzureBotStorage 中的所有用户数据
- oauth-2.0 - Maintaining oath callback URLs
- opencv - 为什么 MEAN SHIFT + ORB 没有检测到(所有)多个对象?
- version-control - RTC SCM 查询工作区退出代码
- python - 导入熊猫似乎正在使用已弃用的 python 模块