Re: [R] Loop with string variable AND customizable "summary" output

From: Bert Gunter <gunter.berton_at_gene.com>
Date: Mon 29 Jan 2007 - 17:03:44 GMT


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: r-help-bounces@stat.math.ethz.ch
[mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of C.Rosa@lse.ac.uk Sent: Monday, January 29, 2007 8:23 AM
To: liuwensui@gmail.com; bcarvalh@jhsph.edu; Roger.Bivand@nhh.no 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:liuwensui@gmail.com] 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, C.Rosa@lse.ac.uk <C.Rosa@lse.ac.uk> 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.
>

-- 
WenSui Liu
A lousy statistician who happens to know a little programming
(http://spaces.msn.com/statcompute/blog)

______________________________________________
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.
Received on Tue Jan 30 05:18:53 2007

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Mon 29 Jan 2007 - 19:31:42 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.