```
> list(valA1=A1, valA2=A2, ... , valAn=An)
> }
>
> and then a call like
>
> myresults <- myfunction(...)
>
> will create a list "myresults" with compnents "valA1", ... ,"valAn"
> which you can access as desired on the lines of
>
> myresults$valA5
>
> As a simple example, the following is a function which explores
> by simulation the power of the Fisher Exact Test for comparing
> two proportions in a 2x2 table:
>
> power.fisher.test <- function(p1,p2,n1,n2,alpha=0.05,nsim=100){
> y1 <- rbinom(nsim,size=n1,prob=p1)
> y2 <- rbinom(nsim,size=n2,prob=p2)
> y <- cbind(y1,n1-y1,y2,n2-y2)
> p.value <- rep(0,nsim)
> for (i in 1:nsim)
> p.value[i] <- fisher.test(matrix(y[i,],2,2))$p.value
> list(Pwr=mean(p.value < alpha),SE.Pwr=sd(p.value < alpha)/sqrt(nsim))
> }
>
> So, given two binomials B(n1,p1) and B(n2,p2), what would be the
> power of the Fisher test to detect that p1 was different from p2,
> at given significance level alpha? This is investigated by repeating,
> nsim times:
> sample from Bin(n1,p1), sample from Bin(n2.p2)
> do a Fisher test and get its P-value; store it
> in a vector p.value of length nsim
> and then finally:
> estimate the power as the proportion Pwr of the nsim cases
> in which the P-value was less than alpha
> get the SE of this estimate
> return these two values as components Pwr and SE.Pwr of a list
>
> As it happens, here each component of the resulting list is of
> the same type (a single number); but in a different computation
> each component (and of course there could be more than two)
> could be anything -- even another list. So you can have lists
> of lists ... !
>
> Thus, instead of the simple returned list above:
>
> list(Pwr=mean(p.value < alpha),
> SE.Pwr=sd(p.value < alpha)/sqrt(nsim))
>
> you could have
>
> list(Binoms=list(Bin1=list(size=n1,prob=p1),
> Bin2=list(size=n2,prob=p2))
> Pwr=mean(p.value < alpha),
> SE.Pwr=sd(p.value < alpha)/sqrt(nsim))
>
> thus also returning the details of the Binomials for which the
> simulation was carried out. You could access these all together as:
>
> power.fisher.test(...)$Binoms
>
> or separately as
>
> power.fisher.test(...)$Binoms$Bin1
> or
> power.fisher.test(...)$Binoms$Bin2
>
> or even
> power.fisher.test(...)$Binoms$Bin1$size
> power.fisher.test(...)$Binoms$Bin1$prob
> etc.
>
> Ted.
>
> --------------------------------------------------------------------
> E-Mail: (Ted Harding)
```
> Fax-to-email: +44 (0)870 094 0861
> Date: 01-May-10 Time: 18:56:50
> ------------------------------ XFMail ------------------------------
>
> ______________________________________________
> R-help@r-project.org 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.
>
[[alternative HTML version deleted]]