我正在尝试使用二进制自变量进行线性回归-与值1的值和值为0的值相比,我希望得到1的估计值,但是,当我运行模型时,我得到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
答案 0 :(得分:0)
感谢您的帮助,看来我的变量确实有3个级别,这就是为什么我得到奇怪结果的原因。它在STATA中以二进制形式出现,这就是为什么我确定它在R中将是二进制的原因。
> levels(factor(ds$art_sc))
[1] "" "0" "Yes"