RE: [R] sample

About this list Date view Thread view Subject view Author view Attachment view

From: Liaw, Andy (andy_liaw@merck.com)
Date: Thu 06 May 2004 - 05:11:35 EST


Message-id: <3A822319EB35174CA3714066D590DCD504AF7D1D@usrymx25.merck.com>

Others have pointed out `paste' for constructing the file names. What I'd
like to suggest is `cleaning up' the code a bit. Assuming func1, ..., func9
all return a single number, so that each tapply() call returns a vector, you
can try something like:

> f1 = mean
> f2 = median
> f3 = function(x) (mean(x) + median(x)) / 2
> ## Put the functions into a list.
> flist = sapply(1:3, function(i) get(paste("f", i, sep="")))
> x = rnorm(20) ## generate some data
> g = rep(1:4, each=5) ## generate groups
> res = apply(sapply(flist, function(f) tapply(x, g, f)), 2, var)
> res
[1] 0.4264803 0.5438598 0.4639551

(You obviously need to work out the details to make sure this fits the data
structure you have.)

This is sort of taking the `whole object' approach. You can take it one
step further by using replicate() instead of explicit for loop to repeat the
1000 times...

Andy

> From: Rogério Rosa da Silva
>
> Dear List:
>
> I have the following simple program:
>
> x<- sample(site)
> VarGuilda1<- var(tapply(x,site,func1))
> VarGuilda2<- var(tapply(x,site,func2))
> VarGuilda3<- var(tapply(x,site,func3))
> VarGuilda4<- var(tapply(x,site,func4))
> VarGuilda5<- var(tapply(x,site,func5))
> VarGuilda6<- var(tapply(x,site,func6))
> VarGuilda7<- var(tapply(x,site,func7))
> VarGuilda8<- var(tapply(x,site,func8))
> VarGuilda9<- var(tapply(x,site,func9))
> Var<-cbind(VarGuilda1,VarGuilda2,VarGuilda3,VarGuilda4,VarGuil
> da5,VarGuilda6,VarGuilda7,VarGuilda8,VarGuilda9)
> write(Var,file="LAU_Var_01.txt", ncol=9)
>
> Every time I want to repeat this I have to change the
> name of *.txt
> file manually. How can I automate this, so it could be done
> for all the  
> *.txt files (1000) I have to generate.
>
>
> Thanks in advance, Rogério
>
> --
> Rogério R. Silva
> MZUSP http://www.mz.usp.br
> Linux User #354364
> Linux counter http://counter.li.org
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


About this list Date view Thread view Subject view Author view Attachment view

This archive was generated by hypermail 2.1.3 : Mon 31 May 2004 - 23:05:07 EST