[R] loop for regression
Joshua Wiley
jwiley.psych at gmail.com
Wed Jul 4 07:47:50 CEST 2012
Hi,
A few comments. First a for loop is probably not optimally efficient.
Consider instead (using a bulit in example dataset):
lm(cbind(mpg, hp) ~ cyl + vs, data = mtcars)
which gives:
Call:
lm(formula = cbind(mpg, hp) ~ cyl + vs, data = mtcars)
Coefficients:
mpg hp
(Intercept) 39.6250 -15.6279
cyl -3.0907 27.5843
vs -0.9391 -19.1148
i.e., same predictors used on both outcomes. Note that this is
substantially faster than running separately. See ?lm for details.
If you need to run separate models (e.g., predictors are changing),
and you have many models and a lot of data (which would not be
surprising when working with stock data), consider using the RcppEigen
package. You can get it by:
install.packages("RcppEigen")
require(RcppEigen) # load package
it has a function called fastLm which is orders of magnitude faster
than lm() and works almost identically.
lapply(mtcars[, c("mpg", "hp")], function(x) fastLm(X = cbind(Int = 1,
mtcars[, c("cyl", "vs")]), y = x))
you just give it the design matrix (X) and response vector (y) see ?fastLm
Cheers,
Josh
On Tue, Jul 3, 2012 at 10:08 PM, Akhil dua <akhil.dua.12 at gmail.com> wrote:
> ---------- Forwarded message ----------
> From: Akhil dua <akhil.dua.12 at gmail.com>
> Date: Wed, Jul 4, 2012 at 10:33 AM
> Subject:
> To: r-help at r-project.org
>
>
> Hi everyone I
> have data on stock prices and market indices
>
> and I need to run a seperate regression of every stock on market
> so I want to write a "for loop" so that I wont have to write codes again
> and again to run the regression...
> my data is in the format given below
>
>
>
> Date Stock1 Stock2 Stock3 Market
> 01/01/2000 1 2 3 4
> 01/02/2000 5 6 7 8
> 01/03/2000 1 2 3 4
> 01/04/2000 5 6 7 8
>
>
> So can any one help me how to write this loop
>
> [[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.
--
Joshua Wiley
Ph.D. Student, Health Psychology
Programmer Analyst II, Statistical Consulting Group
University of California, Los Angeles
https://joshuawiley.com/
More information about the R-help
mailing list