[R] One way ANOVA with NO model
Jason Horn
jhorn at bu.edu
Fri Mar 10 18:41:02 CET 2006
Thanks to all for your help, especially to Adaikalavan for his
excellent and concise response. The key (for me) was realizing that
the one variable that I am measuring is the dependent variable, and
the groups are the independent variable. The model can then be
easily represented in R with fit <- lm( variable ~ grp ).
Thanks again!
- Jason
On Mar 10, 2006, at 11:57 AM, Adaikalavan Ramasamy wrote:
> Suppose you have 6 groups (A, B, C, D, E, F) and you measured the
> weight
> of 5 individuals from each group. Therefore you have 30 weight
> observations in total.
>
> You wish to test if the mean of the response variable is different for
> each of the groups.
> [ i.e. the null hypothesis is that all 6 groups means are the same. ]
>
>
> Lets simulate some data first:
>
> grp <- gl(6, k=5, labels=LETTERS[1:6])
> grp
> [1] A A A A A B B B B B C C C C C D D D D D E E E E E F F F F F
> Levels: A B C D E F
>
> set.seed(1) # for reproducibility only
> w <- runif(30, min=40, max=75) # weights
> w <- round(w, digits=1)
>
>
> Let us first calculate the group means:
>
> tapply(w, grp, mean)
> A B C D E F
> 56.24 62.36 55.54 63.54 55.34 53.94
>
> The group means are close, except for possibly group B and D.
>
>
> You can do a formal testing by regressing the response (weight) to its
> predictors (group). You will need to use the lm() function in R.
>
> fit <- lm( w ~ grp )
>
>
> You can get a summary of the fit by
>
> summary(fit)
> ...
> Coefficients:
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) 56.240 4.725 11.903 1.48e-11 ***
> grpB 6.120 6.682 0.916 0.369
> grpC -0.700 6.682 -0.105 0.917
> grpD 7.300 6.682 1.093 0.285
> grpE -0.900 6.682 -0.135 0.894
> grpF -2.300 6.682 -0.344 0.734
> ...
>
> This simply says that the intercept is strongly NOT zero. Based on the
> p-values, one can roughly summarise that none of the groups appear
> to be
> different.
>
>
> Another useful tool is the ANOVA test which tests if the between group
> variations are larger than average within group variation.
>
> anova(fit)
> Analysis of Variance Table
>
> Response: w
> Df Sum Sq Mean Sq F value Pr(>F)
> grp 5 411.15 82.23 0.7367 0.6033
> Residuals 24 2678.79 111.62
>
> This says that there is no significant variation between the groups.
>
> Hope this helps.
>
> Regards, Adai
>
>
>
> On Fri, 2006-03-10 at 11:24 -0500, Jason Horn wrote:
>> I'd like to do a simple one-way ANOVA comparing the means of 6
>> groups. But it seems like the only way to do an ANOVA in R is to
>> specify some sort of model, where there is an outcome or dependent
>> variable that is a function of independent variables (linear model).
>> But I don't have a linear model, I just want to do a simple ANOVA
>> (and f-test) to compare the means. How do I do this? My stats
>> skills are basic, so please bear with me.
>>
>> Thanks for any ideas...
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide! http://www.R-project.org/posting-
>> guide.html
>>
>
>
More information about the R-help
mailing list