【发布时间】:2018-06-26 11:26:15
【问题描述】:
我正在尝试使用二进制自变量运行线性回归 - 我希望得到 1 个估计值,将值为 1 的值与值为 0 的值进行比较,但是,当我运行模型时,我得到 2 个估计值- 二进制变量的每个值都为 1?关于我可能做错了什么的任何想法? (我已经检查过了,我的变量绝对二进制编码为 0 和 1)
当我在 mtcars dtaset 上尝试时,这很好用
Call:
lm(formula = mpg ~ factor(vs), data = mtcars)
Coefficients:
(Intercept) factor(vs)1
16.62 7.94
...但不在我的数据集中
Call:
lm(formula = bmi_18 ~ factor(art_sc), data = ds)
Coefficients:
(Intercept) factor(art_sc)0 factor(art_sc)Yes
23.5550 -1.1835 -0.7439
【问题讨论】:
-
看起来您的
art_sc变量有 3 个唯一值:0、是和(我猜)1。您如何检查您的值是否只有 0 和 1? -
你试过
levels(factor(art_sc))查看实际水平吗? -
你能显示
art_sc的等级吗?例如。levels(ds$art_sc)? -
你可以试试
lm(formula = bmi_18 ~ art_sc == "Yes", data = ds)
标签: r linear-regression