Le lundi 18 février 2013 à 17:09 +0100, Jamora, Nelissa a écrit : > Hi Milan, > > Thanks for responding to my question. I'm actually not interested in LM, it > was more for example. > > You are right, I'm trying an enormous set of model runs. My Var1 n=14; Var2 > n=255 ==> 3570! > But first, I need be able to set up 2 variables in each model run. Those 2 > variables are different in each case. I can set this up 1-by-1 but it will be > tedious and not efficient. > > To describe in more details > I have a data frame with 269 variables. > 1. individual columns 1-14 can be my first variable > 2. individual columns 15-269 can be my second variable. > > Variable1 and variable2 are different in each case. For e.g. > Model 1: var1 and var15 > Model 2: var1 and var16 > Model 3: var1 and var17... > .... > Model 3570: var14 and var269 > So I need to write a loop command that calls for different sets of variable1 > and variable2 in each run. > > What do I intend to do with this? I'm running threshold vecm (package tsDyn), > and I need to summarize threshold estimates in each model run (or market > pairs, var1 and var2). The goal is to extract N=3,570 threshold estimates. > I did similar linear VECM estimates in Stata using my foreach loop, but now I > need to make parallel run in R but using threshold model. Ah, if you need parallelism, you can likely try something like this (untested) :
# Create cluster cl before and export yourData to them parLapply(cl, paste0("p", 1:14)), function(var) { lapply(paste0("p", 15:269), function(y) { lm(yourData[[var]] ~ yourData[[y]]) }) } This will only be optimal if you have less than 14 cores. Regards > Hope this clears things. > Nelissa > > > > > > > > > -----Original Message----- > From: Milan Bouchet-Valat [mailto:nalimi...@club.fr] > Sent: Monday, February 18, 2013 3:44 PM > To: Jamora, Nelissa > Cc: r-help@r-project.org > Subject: Re: [R] foreach loop, stata equivalent > > Le lundi 18 février 2013 à 13:48 +0100, Jamora, Nelissa a écrit : > > Hi! I'm a recent convert from Stata, so forgive my ignorance. > > > > > > > > In Stata, I can write foreach loops (example below) > > > > > > > > foreach var of varlist p1-p14 { > > > > foreach y of varlist p15-p269 { > > > > reg `var' `y' > > > > } > > > > } > > > > > > > > It's looping p1-p15, p1-p16...., p1-p269, p2-p15, p2-p16,... p2-p269,... > > variable pairs. > > > > > > > > How can I write something similar in R? > > > > I 'tried' understanding the package.foreach but can't get it to work. > You do not need package foreach, which is intended at a completely different > problem. > > R does not really have the syntactic equivalent of "varlist", but you can > easily do something like: > for(var in paste0("p", 1:14)) { > for(y in paste0("p", 15:269)) > lm(yourData[[var]] ~ yourData[[y]]) } > > provided that yourData is the data frame in which the p* variables are > stored. > > There are probably more direct ways of doing the same thing and storing the > resulting lm objects in a list, but you did not state what you intend to do > with this enormous set of regressions... > > > Regards > > > Thanks for any help > > > > Nelissa > > > > > > [[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.