Dear Ravi,

On Sunday 09 May 2010, Ravi Kulkarni wrote:
> I notice something curious about how aov() treats a numeric factor:

In R, there is no such thing as a "numeric factor". A numeric vector is not a 
factor unless declared as such.


> "score" is a dependent variable and "group" is a factor in a one-way ANOVA.
> But "group" contains numeric codes and is not a factor (checked with
> 
> is.factor). An ANOVA done using:
> > aov(score~factor(group), data=mydata)
> 
> gives the right answers. But
> 
> > aov(score~group, data=mydata)
> 
> also produces an ANOVA table, with incorrect entries. My question is: what
> exactly is R doing when I did not specify that "group" was a factor?

The entries _are_ correct, because "group" is numeric.
From the help of aov():

Details:

     This provides a wrapper to ‘lm’ for fitting linear models to
     balanced or unbalanced experimental designs.

So aov() calls lm(), where it is mighty important whether "group" is numeric 
or factor. There are both in your mind, but in R you have to declare it as 
factor in order to treat it as such...

I hope this helps,
Adrian


-- 
Adrian Dusa
Romanian Social Data Archive
1, Schitu Magureanu Bd.
050025 Bucharest sector 5
Romania
Tel.:+40 21 3126618 \
     +40 21 3120210 / int.101
Fax: +40 21 3158391

______________________________________________
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.

Reply via email to