我正在尝试在R中构建线性回归模型。我正在努力将分类变量转换为数字以供模型使用。我想将过程的名称转换为数字,并使用以下代码行来执行此操作。它似乎成功运作。我也在使用名为CAR的库。
res$Procedure <- recode(res$Procedure, "'Primary Knee'='1'; 'Primary Hip'='2'; 'Revision Knee'='3'; 'Revision Knee'='4';
'Partial Knee'='5'; 'Revision Hip'='6'; 'Partial knee'='7'; 'Bilateral Hip'='8';
'Bilateral knee'='9'; 'Bilateral Knee'='9'; 'Resurfacing Hip'='10';'Resurfacing Hip '='10'; 'Revision knee'='3'")
然后我运行模型 -
lg1 = glm(BloodTransfusions~ Age+Hospital+Procedure+LenthOfStay,
family=binomial(link=probit), data=res)
然后我看着我的模型的结果,这是事情看起来有点奇怪。
summary(lg1)
基本上,该模型将我转换为数字的每个分类变量视为一个不同的变量,而不是连续变量。有没有人有什么建议?或者我是以错误的方式解决这个问题。我很感激帮助!
答案 0 :(得分:0)
你可以dummify your dataframe。这将从每个级别的分类变量中创建一个二进制变量。
library("dummy")
res.dummy <- dummy(res)
然后在glm中使用res.dummy
。