Message-ID: <AB8D462E-740E-4046-990E-49506659097E@gmail.com>
Date: 2008-03-05T05:18:34Z
From: Charilaos Skiadas
Subject: simulating the anova
In-Reply-To: <9e9da3a00803042103t3c2bfaddyd384989599ec6ffa@mail.gmail.com>
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