[R] stats::lm has inconsistent output when adding constant to dependent variable

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Fri Sep 27 21:01:13 CEST 2019


Hello,

Maybe FAQ 7.31?

Check the residuals, they are all "zero" in both cases:

fit0 <- lm(y~x)
fit1 <- lm(1+y~x)

# residuals
table(resid(fit0))
#
# 0
#30

table(resid(fit1))
#
#-5.21223595241838e-16 -4.93038065763132e-31  3.12734157145103e-15
#                    6                    23                     1


Hope this helps,

Rui Barradas

Às 18:05 de 27/09/19, David J. Birke escreveu:
> Dear R community,
> 
> I just stumbled upon the following behavior in R version 3.6.0:
> 
> set.seed(42)
> y <- rep(0, 30)
> x <- rbinom(30, 1, prob = 0.91)
> # The following will not show any t-statistic or p-value
> summary(lm(y~x))
> #  The following will show t-statistic and p-value
> summary(lm(1+y~x))
> 
> My expected output is that the first case should report t-statistic and 
> p-value. My intuition might be tricking me, but I think that a constant 
> shift of the data should be fully absorbed by the constant and not 
> affect inference about the slope.
> 
> Is this a bug or is there a reason why there should be a discrepancy 
> between the two outputs?
> 
> Best,
> David
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list