Apologies to Bert, I see now that "market" is a variable in the dataset, not a generic name for market indicators. lm() with a matrix as the outcome seems the best approach here.
Josh On Wed, Jul 4, 2012 at 12:12 PM, Joshua Wiley <jwiley.ps...@gmail.com> wrote: > On Wed, Jul 4, 2012 at 11:48 AM, Bert Gunter <gunter.ber...@gene.com> wrote: >> Please carefully read ?lm. As I previously told the OP, no looping/apply is >> necessary. The left hand side of the lm formula can be a matrix for which >> separate fits will be done on each column automatically. > > Which is a great option if the design matrix is constant, but suppose > you want to predict each stock from every other stock in a dataset? > This is a one liner with lapply: > > lapply(colnames(mtcars), function(n) lm(substitute(y ~ ., list(y = > as.name(n))), data = mtcars)) > > granted, not the prettiest or most efficient thing on the planet (and > falls apart for some reason with fastLm(), which I am still > investigating work arounds to). The matrix outcome to lm() approach: > > lm(as.matrix(mtcars) ~ ., data = mtcars) > > yeilds perfect explanation by the variable of itself, as expected, > which is not really useful. The OP did not give many details other > than "write a for loop". It is not clear what should be varying. If > it is *just* the outcome, you are absolutely right, giving lm a matrix > seems the most sensible route. > > Cheers, > > Josh > >> >> -- Bert >> >> On Wed, Jul 4, 2012 at 9:44 AM, arun <smartpink...@yahoo.com> wrote: >> >>> >>> >>> Hi, >>> >>> You could also use: >>> dat1 <- read.table(text=" >>> >>> 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 >>> ", header=TRUE, stringsAsFactors=FALSE) >>> >>> Stocks<-dat1[,2:4] >>> apply(Stocks,2,function(x) lm(x~Market,data=dat1)) >>> $Stock1 >>> >>> Call: >>> lm(formula = x ~ Market, data = dat1) >>> >>> Coefficients: >>> (Intercept) Market >>> -3 1 >>> >>> >>> $Stock2 >>> >>> Call: >>> lm(formula = x ~ Market, data = dat1) >>> >>> Coefficients: >>> (Intercept) Market >>> -2 1 >>> >>> >>> $Stock3 >>> >>> Call: >>> lm(formula = x ~ Market, data = dat1) >>> >>> Coefficients: >>> (Intercept) Market >>> -1 1 >>> >>> A.K. >>> >>> >>> >>> >>> ----- Original Message ----- >>> From: Akhil dua <akhil.dua...@gmail.com> >>> To: r-help@r-project.org >>> Cc: >>> Sent: Wednesday, July 4, 2012 1:08 AM >>> Subject: [R] loop for regression >>> >>> ---------- Forwarded message ---------- >>> From: Akhil dua <akhil.dua...@gmail.com> >>> Date: Wed, Jul 4, 2012 at 10:33 AM >>> Subject: >>> To: r-help@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@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. >>> >>> >>> ______________________________________________ >>> R-help@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. >>> >> >> >> >> -- >> >> Bert Gunter >> Genentech Nonclinical Biostatistics >> >> Internal Contact Info: >> Phone: 467-7374 >> Website: >> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@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/ -- Joshua Wiley Ph.D. Student, Health Psychology Programmer Analyst II, Statistical Consulting Group University of California, Los Angeles https://joshuawiley.com/ ______________________________________________ R-help@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.