[R] simulating the anova

Charilaos Skiadas cskiadas at gmail.com
Wed Mar 5 06:18:34 CET 2008


On Mar 5, 2008, at 12:03 AM, Will Holcomb wrote:

> I have been trying to figure out how to run a simple simulation of  
> the ANOVA
> and I'm coming up just a bit short. The code I've got is:
>
> cohen.f = .25
> groups = 4
> between.var = 19
> within.var =  between.var / cohen.f ^ 2
> n = 500
> sim.means = rnorm(n = groups, mean = 0, sd = sqrt(between.var))
> sim.data = lapply(sim.means, function(mean) rnorm(n = n, mean =  
> mean, sd =
> sqrt(within.var)))
> sim.anova = ?
>
> I'm pretty sure I've got data with the between group and within group
> variances that I want. I don't really know how to run an ANOVA on  
> it though.
> All the examples I've been able to find (with aov and anova)  
> require an
> explicit model. The ANOVA just tests the equivalence of means for a  
> set of
> groups, right? Can I not just tell it to give me the likelihood the  
> means
> are equal for all the columns without writing an explicit model.

I don't know if you can without writing an explicit model or not, but  
writing the model isn't that hard:

simdata2 <- do.call(data.frame, sim.data)
names(simdata2) <- LETTERS[1:4]
simdata3 <- stack(simdata2)
fit <- lm(values~ind, data=simdata3)
summary(fit)
anova(fit)

Unless I misunderstood what you wanted to do.

> Any help would be appreciated,
> Will

Haris Skiadas
Department of Mathematics and Computer Science
Hanover College



More information about the R-help mailing list