# How can I perform a two-way ANOVA without replication in R?

Here is an example I am trying to copy from a text that I have. No idea how to proceed.

car.noise <- data.frame( speed = c("idle", "0-60mph", "over 60"), chrysler = c(41,65,76),
bmw = c(45,67,72), ford = c(44,66,76), chevy = c(45,66,77), subaru = c(46,76,64))

mcar.noise<- melt(car.noise, id.var="speed")

> mcar.noise
speed variable value
1     idle chrysler    41
2  0-60mph chrysler    65
3  over 60 chrysler    76
4     idle      bmw    45
5  0-60mph      bmw    67
6  over 60      bmw    72
7     idle     ford    44
8  0-60mph     ford    66
9  over 60     ford    76
10    idle    chevy    45
11 0-60mph    chevy    66
12 over 60    chevy    77
13    idle   subaru    46
14 0-60mph   subaru    76
15 over 60   subaru    64


I have been looking around and found anova, aov, anoava.lm and manova. One of those cases of info overload and now I am stuck. Any advice on which to use and how for a two-way anova without replication?

-
I believe you can use anova(lm(value ~ speed + variable, data=mcar.noise)) or summary(aov(value ~ speed + variable, data=mcar.noise)). –  mark999 Dec 18 '11 at 8:01
With some explanations on model formulation and output interpretation, I feel like your comment deserves to be converted to an answer, @mark999. –  chl Dec 18 '11 at 22:35
anova(lm(value ~ speed + variable, data=mcar.noise)) gave me what I was looking for. I am not sure about the summary(aov...) though. –  Travis Dec 19 '11 at 0:51
Travis, the results should be the same from both methods. @chl I'll leave that to someone else to do if they want to. There's no indication of what level of explanation, if any, Travis requires. –  mark999 Dec 19 '11 at 6:09