I thought it would be trivial to extract the p-value on the F-test of a linear regression model (testing the null hypothesis R²=0). If I fit the linear model: fit<-lm(y~x1+x2), I can't seem to find it in names(fit) or summary(fit). But summary(fit)$fstatistic does give you the F statistic, and both degrees of freedom, so I wrote this function to quickly pull out the p-value from this F-test on a lm object, and added it to my R profile. If there's a built-in R function to do this, please comment!
That's the way you need to do it. In fact, that's how it is calculated in the source code to print.summary.lm(x,...):
ReplyDeletepf(x$fstatistic[1L], x$fstatistic[2L], x$fstatistic[3L],lower.tail = FALSE)
I could be totally wrong but I thing that
ReplyDeletecoef(summary(modelobject))["termname", "Pr(>|t|)"]
should pull out only the pvalue of the model.
Sorry if this isn't what you are looking for.
exactly what i was looking for! thanks :)
ReplyDeleteThis is great. Thanks
ReplyDeleteWhat about the cor.test function?
ReplyDelete> x <- c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
> y <- c( 2.6, 3.1, 2.5, 5.0, 3.6, 4.0, 5.2, 2.8, 3.8)
> lmp(lm(x~y))
[1] 0.1081731
> cor.test(x,y)$p.value
[1] 0.1081731
thanks for sharing
ReplyDelete