[R] stats lm() function

Dimitris Rizopoulos d.rizopoulos at erasmusmc.nl
Thu Mar 12 20:30:11 CET 2009


yes, indeed, you can certainly speed things up, by just changing the 
design matrix X and feeding it back to lm.fit().

In addition, if you just need the least squares estimates, then you gain 
a bit more by using constructs of the form:

XtX <- crossprod(X)
Xty <- crossprod(X, y)
betas <- solve(XtX, Xty)


I hope it helps.

Best,
Dimitris


Paul Hermes wrote:
> Hi, 
> 
> Im using the lm() function where the formula is quite big (300 arguments) and the data is a frame of 3000 values. 
> 
> This is running in a loop where in each step the formula is reduced by one argument, and the lm command is called again (to check which arguments are useful) . 
> 
> This takes 1-2 minutes. 
> Is there a way to speed this up? 
> i checked the code of the lm function and its seems that its preparing the data and then calls lm.Fit(). i thought about just doing this praparing stuff first and only call lm.fit() 300 times. 
> 	[[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.
> 

-- 
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014




More information about the R-help mailing list