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: [email protected]
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: [email protected]
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
>
> ______________________________________________
> [email protected] 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)

______________________________________________
[email protected] 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.

______________________________________________
[email protected] 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.

Reply via email to