[R] Odp: Loop counter used in variable

Martin Maechler maechler at stat.math.ethz.ch
Tue Dec 15 09:17:55 CET 2009


>>>>> "PP" == Petr PIKAL <petr.pikal at precheza.cz>
>>>>>     on Tue, 15 Dec 2009 09:03:11 +0100 writes:

    PP> Hi
    PP> r-help-bounces at r-project.org napsal dne 15.12.2009 00:25:10:

    >> 
    >> Hi All,
    >> 
    >> I need to run muliple lm functions.  My independent variables are called
    >> dataset$x1, x2, x3, x4 etc.
    >> 
    >> How can I use a loop counter variable to replace the numbers?
    >> 
    >> 
    >> 
    >> fit1=lm(dataset$y~dataset$x1)
    >> fit2=lm(dataset$y~dataset$x2)
    >> fit3=lm(dataset$y~dataset$x3)
    >> fit4=lm(dataset$y~dataset$x4)

    PP> I would use list for results and brackets for lm fit. Something like 
    PP> (untested)

    PP> fit<- vector("list", length=4)

    PP> for (i in 1:4) {
    PP> fit[[i]] <- lm(y~dataset[,i], data=dataset)
    PP> }

Also, in almost all such cases, 
where you have many regressions,  you'd rather  want  lm.fit()
instead of lm(), for efficiency reasons.

lm.fit() is probably among the much R functions that are less
known than they should be.
It *would* be known more if useRs *would* read help pages ...
?lm  in this case.

Martin



More information about the R-help mailing list