Note that the nlme solution seems to give the same coefficients but appears to use a single error term rather than one error term per level of the conditioning variable and that would change various other statistics relative to the other solutions should that matter.
> summary(lmList(uptake ~ conc | Treatment, CO2)) Call: Model: uptake ~ conc | Treatment Data: CO2 Coefficients: (Intercept) Estimate Std. Error t value Pr(>|t|) nonchilled 22.01916 2.46416 8.935769 1.174616e-13 chilled 16.98142 2.46416 6.891361 1.146556e-09 conc Estimate Std. Error t value Pr(>|t|) nonchilled 0.01982458 0.004692544 4.224699 6.292679e-05 chilled 0.01563659 0.004692544 3.332221 1.306259e-03 Residual standard error: 8.945667 on 80 degrees of freedom On 1/29/07, Marc Schwartz <[EMAIL PROTECTED]> wrote: > Or, to throw yet another couple of possibilities into the mix: > > lapply(split(YourDF, YourDF$country), > function(x) summary(lm(y ~ x, data = x)) > > and: > > library(nlme) > summary(lmList(y ~ x | country, YourDF)) > > > See ?split and help(lmList, package = nlme) > > HTH, > > Marc Schwartz > > On Mon, 2007-01-29 at 09:03 -0800, Bert Gunter wrote: > > Prior answers are certainly correct, but this is where lists and lapply > > shine: > > > > result<-lapply(list(UK,USA),function(z)summary(lm(y~x,data=z))) > > > > As in (nearly) all else, simplicity is a virtue. > > > > If you prefer to keep the data sources as a character vector,dataNames, > > > > result<-lapply(dataNames,function(z)summary(lm(y~x,data=get(z)))) > > > > should work. > > > > Note: both of these are untested for the general case where they might be > > used within a function and may not find the right z unless you pay attention > > to scope, especially in the get() construction. > > > > > > Bert Gunter > > Genentech Nonclinical Statistics > > South San Francisco, CA 94404 > > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] > > Sent: Monday, January 29, 2007 8:23 AM > > To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] > > Cc: r-help@stat.math.ethz.ch > > Subject: Re: [R] Loop with string variable AND customizable "summary" output > > > > Dear All, > > Thank you very much for your help! > > Carlo > > > > -----Original Message----- > > From: Wensui Liu [mailto:[EMAIL PROTECTED] > > Sent: Mon 29/01/2007 15:39 > > To: Rosa,C > > Cc: r-help@stat.math.ethz.ch > > Subject: Re: [R] Loop with string variable AND customizable "summary" output > > > > Carlo, > > > > try something like: > > > > for (i in c("UK","USA")) > > { > > summ<-summary(lm(y ~ x), subset = (country = i)) > > assign(paste('output', i, sep = ''), summ); > > } > > > > (note: it is untested, sorry). > > > > On 1/29/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > Dear All, > > > > > > I am using R for my research and I have two questions about it: > > > > > > 1) is it possible to create a loop using a string, instead of a numeric > > vector? I have in mind a specific problem: > > > > > > Suppose you have 2 countries: UK, and USA, one dependent (y) and one > > independent variable (y) for each country (vale a dire: yUK, xUK, yUSA, > > xUSA) and you want to run automatically the following regressions: > > > > > > > > > > > > for (i in c("UK","USA")) > > > > > > output{i}<-summary(lm(y{i} ~ x{i})) > > > > > > > > > > > > In other words, at the end I would like to have two objects as output: > > "outputUK" and "outputUSA", which contain respectively the results of the > > first and second regression (yUK on xUK and yUSA on xUSA). > > > > > > > > > > > > 2) in STATA there is a very nice code ("outreg") to display nicely (and as > > the user wants to) your regression results. > > > > > > Is there anything similar in R / R contributed packages? More precisely, I > > am thinking of something that is close in spirit to "summary" but it is also > > customizable. For example, suppose you want different Signif. codes: 0 > > '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 or a different format display > > (i.e. without "t value" column) implemented automatically (without manually > > editing it every time). > > > > > > In alternative, if I was able to see it, I could modify the source code of > > the function "summary", but I am not able to see its (line by line) code. > > Any idea? > > > > > > Or may be a customizable regression output already exists? > > > > > > Thanks really a lot! > > > > > > Carlo > > > > > ______________________________________________ > R-help@stat.math.ethz.ch 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@stat.math.ethz.ch 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.