【问题标题】:Too many coefficients with lmlm 的系数太多
【发布时间】:2020-04-16 21:09:48
【问题描述】:

我正在研究每个学生的支出与比萨(标准化考试)成绩之间的关系,我知道这种回归不能给我一个其他条件不变的关系,但这是我练习的重点,我必须解释为什么它不起作用。

我正在使用基本代码在 R 上运行回归:

lm1=lm(a~b)

但问题是 R 向我报告了 32 个系数,这是我的人口组成部分的数量,而我应该只收到斜率和截距,因为这是一个简单的回归

这是 R 给我的输出:

Call:
lm(formula = a ~ b)

Coefficients:
(Intercept)     b10167.3     b10467.8     b10766.4     b10863.4     b10960.1    b11.688.4     b11028.1       b11052     b11207.3     b11855.9     b12424.3     b13930.8  
   522.9936       5.9561       0.3401     -20.6884     -14.8603     -15.0777      -3.5752     -23.0459     -27.1021     -42.2692     -20.4485     -35.3906     -30.7468  
   b14353.3     b2.997.9     b20450.9      b3714.8      b4996.3      b5291.6      b5851.7      b6190.7      b6663.3      b6725.3      b6747.2      b7074.9      b8189.1  
   -18.4412    -107.2872     -39.6793     -98.2315     -80.2505     -36.2202     -48.6179     -64.2414       1.3887     -19.0389     -59.9734     -32.0751     -31.5962  
    b8406.2      b8533.5      b8671.1      b8996.3      b9265.7      b9897.2  
   -13.4219     -26.0155     -13.9045     -37.9996     -17.0271     -27.2954 

正如您所见,有 32 个系数,而我应该只收到两个,似乎 R 正在将人口的每个单位作为变量读取,但数据集一如既往地设置为行中的变量。我不知道是什么问题。

【问题讨论】:

  • See here 提出一个人们可以帮助解决的 R 问题。这包括数据样本和任何其他必要的代码。我的猜测是你有一些编码为你实际上并不打算成为的因素,但没有一个例子,这只是一个猜测
  • 嗨@MaurizioPapa,欢迎交叉验证.. 如果有人帮助您解决了他们的问题,您可以考虑接受他们的回答stackoverflow.com/help/no-one-answers

标签: r regression lm


【解决方案1】:

lm 函数没有问题。似乎 R 将 $b$ 视为分类变量。 我做了一个包含 5 个观察值的小数据,$a$(数字变量)和 $b$ (分类变量)。

当我拟合我的模型时,您会看到我看到的输出与您相似(5 个估计系数)。

data = data.frame(a = 1:5, b = as.factor(rnorm(5)))
lm(a~b, data)
Call:
lm(formula = a ~ b, data = data)

Coefficients:
       (Intercept)  b-0.16380292500502  b0.213340249988902  b0.423891299272316   b0.63738307939327  
                 4                  -3                  -1                   1                  -2  

要纠正这个问题,您需要将 $b$ 转换为数值向量。

data$b = as.numeric(as.character(data$b))
lm(a~b, data)
Call:
lm(formula = a ~ b, data = data)

Coefficients:
(Intercept)            b  
     2.9580       0.2772 
``` 

【讨论】:

    猜你喜欢
    • 2021-11-06
    • 2019-05-25
    • 2014-02-08
    • 2015-03-21
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    相关资源
    最近更新 更多