[R] How to get out the t-test value matrix for a linear regression ?

Peter Dalgaard P.Dalgaard at biostat.ku.dk
Mon Jan 28 17:43:42 CET 2008


leo_aries wrote:
> Hi, all
>
>      I've written some R script to calculate the linear regression of a matrix.
> Here below is my script:
>
>   
>> x<-matrix(scan("h:/data/xxx.dat",0),nrow=46,ncol=561,byrow=TRUE)
>>     
>
>   
>> year <- NULL
>> year <- cbind(year,as.matrix(x[,1]))
>>     
>
>   
>> lm.sol<-lm(x~year)
>> xtrend<-coef(lm.sol)[2,]    # get the matrix of regression coefficient 
>>     
>
>   
>> t.test<- ?                       # also want to get a similar matrix of t-test value for the regression coefficient
>>     
>
>   
>> class(summary(lm.sol))      
>> "listof"                           
>> class(summary(lm.sol))
>> "listof"                            # the t-test values are in the obj "summary(lm.sol)", but how to get them out 
>>     
>                                          as a matrix similar as the above"xtrend"?
>
> Anyone can help me? Thanks !
>   
This seems to do it:

> Y <- matrix(rnorm(10),5)
> x <- rnorm(5)
> sapply(coef(summary(lm(Y~x))),"[", TRUE, "t value")
            Response Y1 Response Y2
(Intercept)   0.5485488    2.021065
x            -0.5175011   -2.225623

Or, a bit less sneaky

> sapply(coef(summary(lm(Y~x))), function(X) X[,"t value"])
            Response Y1 Response Y2
(Intercept)   0.5485488    2.021065
x            -0.5175011   -2.225623

-- 
   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



More information about the R-help mailing list