为什么R中的回归会删除因子变量的索引1?

为什么R中的回归会删除因子变量的索引1?,r,statistics,regression,linear-regression,R,Statistics,Regression,Linear Regression,我试图使用lm和glm函数在R中进行回归 我的因变量是基于给定时间段内事件与非事件的比例的logit转换数据。所以我的因变量是连续的,而我的自变量是因子变量或虚拟变量 我有两个自变量,可以取 年份i到年份m,我的年份变量 月份j到月份n,我的月份变量 问题是,每当我以总结的方式运行我的模型时,4月份(指数1表示月份)和1998年(指数1表示年份)的结果都不在结果范围之内。。。如果我把四月改成“foo_bar”,八月就不见了 请帮忙!这让我很沮丧,我根本不知道如何寻找问题的解决方案。如果R为因

我试图使用
lm
glm
函数在R中进行回归

我的因变量是基于给定时间段内事件与非事件的比例的logit转换数据。所以我的因变量是连续的,而我的自变量是因子变量或虚拟变量

我有两个自变量,可以取

  • 年份i到年份m,我的年份变量
  • 月份j到月份n,我的月份变量
问题是,每当我以总结的方式运行我的模型时,4月份(指数1表示月份)和1998年(指数1表示年份)的结果都不在结果范围之内。。。如果我把四月改成“foo_bar”,八月就不见了


请帮忙!这让我很沮丧,我根本不知道如何寻找问题的解决方案。

如果R为因子中的每个级别创建一个虚拟变量,那么得到的变量集将是线性相关的(假设还有一个截距项)。因此,选择一个因子水平作为基线,并且没有为其生成虚拟

为了说明这一点,让我们考虑一个玩具例子:

> data <- data.frame(y=c(2, 3, 5, 7, 11, 25), f=as.factor(c('a', 'a', 'b', 'b', 'c', 'c')))
> summary(lm(y ~ f, data))

Call:
lm(formula = y ~ f, data = data)

Residuals:
   1    2    3    4    5    6 
-0.5  0.5 -1.0  1.0 -7.0  7.0 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)    2.500      4.093   0.611   0.5845  
fb             3.500      5.788   0.605   0.5880  
fc            15.500      5.788   2.678   0.0752 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 5.788 on 3 degrees of freedom
Multiple R-squared: 0.7245, Adjusted R-squared: 0.5409 
F-statistic: 3.945 on 2 and 3 DF,  p-value: 0.1446 
>数据摘要(lm(y~f,数据))
电话:
lm(公式=y~f,数据=data)
残差:
1    2    3    4    5    6 
-0.5  0.5 -1.0  1.0 -7.0  7.0 
系数:
估计标准误差t值Pr(>t)
(截距)2.500 4.093 0.611 0.5845
fb 3.500 5.788 0.605 0.5880
fc 15.500 5.788 2.678 0.0752。
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
剩余标准误差:3个自由度上的5.788
倍数R平方:0.7245,调整后的R平方:0.5409
F统计量:2和3 DF上的3.945,p值:0.1446
如您所见,有三个系数(与因子中的级别数相同)。这里,
a
被选为基线,因此
(截距)
指的是
f
a
的数据子集。
b
c
fb
fc
)的系数是基线截距和其他两个因子水平截距之间的差异。因此,
b
的截距为
6
2.500+3.500
),而
c
的截距为
19
2.500+15.500


如果您不喜欢自动选择,您可以选择另一个级别作为基线:

这是意料之中的。你的实际问题是什么?怎么了?实际的问题是,我只想评估我的时间变量对我的事件的影响,这样十二月可能会对我的事件产生重大影响。12月份,100人中可能有20人在toystore买了东西,剩下的几个月里,100人中只有5人买了东西……这不是一个R问题,也不属于这里。相关信息:Ista:你为什么不把这看作是一个R问题?非常感谢!我自己永远也不会想到这一点。我猜这只是伪变量的一个属性还是什么?@KasperChristensen:我希望最新的编辑能让我们了解更多。@KasperChristensen:这是矩阵代数的一个属性。如果X没有满列秩(即X具有线性依赖性、完全多重共线性等),X'X是不可逆的,您无法估计系数。@JoshuaUlrich X'X是不可逆的,但您仍然可以使用广义逆得到估计值。只是估计值不是唯一的,你不能直接解释大部分系数。