R-square n p-value
Dirk Eddelbuettel <edd at debian.org> writes:
On 3 September 2005 at 17:59, Justin Rhodes wrote: | Dear R-help, | | Can someone please help me discover what function or code will give | me a p-value from the input: 1) R-square statistic from a simple | linear regression, and 2) sample size, n | | This would be greatly appreciated. I need this because I am using a | database that gives me R-square and sample size for multiple | comparisons, and I wish to determine the false discovery rate using | q-value. Thanks again, Do
> example(lm) # just to get an lm object > str(summary(lm.D9)) # to examine summary of an object
and you'll see that the object returned from summary has the two common R^2 measures, as well as things like residuals from which can compute n quite easily -- which you could obviously also from your regressors and regressand.
> length(summary(lm.D9)$residuals)
I think the problem was somewhat different: The *input* is coming from some sort of (closed-source or otherwise impenetrable) database which only gives out n and R^2, right? Now R^2 = SSDmodel/(SSDmodel+SSDres) and F = DFres/DFmodel*SSDmodel/SSDres, i.e. 1/R^2 = 1 + 1/F*DFmodel/DFres or F = 1/(1/R^2 - 1)*DFres/DFmodel = R^2/(1-R^2)*DFres/DFmodel which can be looked up "in the F-table" using pf(F, 1, N-2, lower.tail=FALSE) (provided we have a 1 DF model) Actually, R^2 itself has a beta distribution and you could use pbeta directly, but then you'd need to figure out (or recall) what the relation between the DF and the shape parameters of the beta distribution are. By my reckoning, this should do it: pbeta(Rsq, 1/2, (N-2)/2, lower.tail=FALSE) "Proof": .... Residual standard error: 1.143 on 8 degrees of freedom Multiple R-Squared: 0.0004207, Adjusted R-squared: -0.1245 F-statistic: 0.003367 on 1 and 8 DF, p-value: 0.9552
pbeta(0.0004207, 1/2, 8/2, lower=F)
[1] 0.9551511
O__ ---- Peter Dalgaard ??ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907