【问题标题】:Linear regression with binary independent variable具有二元自变量的线性回归
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-11-28
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多