格式化线性回归的分类变量

时间:2018-04-13 16:57:45

标签: r linear-regression

我正在尝试在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)

|变量| P值|

|年龄| |

|医院| |

| Procedure1 | |

| Procedure2 | |

| Procedure3 | |

基本上,该模型将我转换为数字的每个分类变量视为一个不同的变量,而不是连续变量。有没有人有什么建议?或者我是以错误的方式解决这个问题。我很感激帮助!

1 个答案:

答案 0 :(得分:0)

你可以dummify your dataframe。这将从每个级别的分类变量中创建一个二进制变量。

library("dummy")
res.dummy <- dummy(res)

然后在glm中使用res.dummy