[R] extract the p value

Duncan Murdoch murdoch.duncan at gmail.com
Mon Oct 24 20:04:34 CEST 2011


On 24/10/2011 1:47 PM, Jim Bouldin wrote:
> OK, what is the trick to extracting the overall p value from an lm object?
> It shows up in the summary(lm(model)) output but I can't seem to extract it:

It's not part of the object, it is computed when the object is printed.  
To see the print method, do this:

class(test2[[1]])

(which will print "summary.lm" if I'm reading your code properly).  Then 
print.summary.lm is the print method:

getAnywhere(print.summary.lm)

It's fairly long, but I think the part you want is

         cat(",\tAdjusted R-squared:", formatC(x$adj.r.squared,
             digits = digits), "\nF-statistic:", formatC(x$fstatistic[1L],
             digits = digits), "on", x$fstatistic[2L], "and",
             x$fstatistic[3L], "DF,  p-value:", 
format.pval(pf(x$fstatistic[1L],
                 x$fstatistic[2L], x$fstatistic[3L], lower.tail = FALSE),
                 digits = digits), "\n")

Here, x is the summary object.

Duncan Murdoch
> >  test2 = apply(aa, 1, function(x) summary(lm(x[,1] ~ 0 + x[,3] + x[,6])))
> >  test2[[1]]
>
> Call:
> lm(formula = x[, 1] ~ 0 + x[, 3] + x[, 6])
>
> [omitted summary output]
> F-statistic: 40.94 on 2 and 7 DF,  p-value: 0.0001371
>
> It does not seem to be obtainable from anova(lm(model)) either, only the p
> values for the individual predictors.
> Stumped.
>
> Jim Bouldin
> Research Ecologist
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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