【发布时间】:2020-08-23 02:43:19
【问题描述】:
我正在使用来自网站的数据集来检查逻辑回归。 R为变量“age”返回三个系数下面是数据集。年龄变量有四个级别:
数据集具有三个预测变量(即年龄、教育程度、想要更多)。第四和第五列是响应变量,分别对应“No”(第四列)和“Yes”(第五列)。
当我使用这个数据集执行逻辑回归时,我得到了更多年龄变量的系数。
cuse = read.table("https://data.princeton.edu/wws509/datasets/cuse.dat", header = TRUE)
cuse$age=factor(cuse$age)
lrfit = glm( cbind(using, notUsing) ~ age + education + wantsMore,
data = cuse, family = binomial)
lrfit$coefficients
系数如下所示。 R 为年龄变量生成三个系数。我该如何解决?
> lrfit$coefficients
(Intercept) age25-29 age30-39 age40-49 educationlow wantsMoreyes
-0.8082200 0.3893816 0.9086135 1.1892389 -0.3249947 -0.8329548
【问题讨论】:
-
这就是我希望看到的。您是否希望只看到一个参数?您的数据不连续。
-
年龄变量有四个级别。我使用 factor() 将年龄转换为分类变量。所以应该只有一个系数。
-
...我想你很困惑。分类变量将获得 (k-1) 个系数,其中 k 是变量中的级别数。
-
感谢您的解释。如果我使用 (1, 2, 3, 4) 对年龄的四个级别进行编码,我如何才能获得年龄变量的一个系数。
-
我同意@Dason 所说的。如果您有这样的分类数据并且您使用数值 1、2、3、4 来表示它们,那么您假设无论类别 1 的影响是什么(您的数据中
标签: r logistic-regression