具有二进制自变量的线性回归

时间:2018-06-26 11:26:15

标签: r linear-regression

我正在尝试使用二进制自变量进行线性回归-与值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

1 个答案:

答案 0 :(得分:0)

感谢您的帮助,看来我的变量确实有3个级别,这就是为什么我得到奇怪结果的原因。它在STATA中以二进制形式出现,这就是为什么我确定它在R中将是二进制的原因。

 > levels(factor(ds$art_sc))
 [1] ""    "0"   "Yes"