# Re: [R] Dunn's post hoc test

From: Robert Baer <rbaer_at_atsu.edu>
Date: Tue 18 Oct 2005 - 08:26:32 EST

I think I misunderstood your follow-up question. Try this:

> averank<-sort(sample(1:100,10,replace=TRUE))
> x=matrix(nrow=length(averank),ncol=length(averank))
> for (i in 1:length(averank)){

```+ for (j in 1:length(averank)){
+ x[i,j] <- averank[i] - averank[j]
+ }}

> x
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    0  -14  -15  -16  -16  -23  -37  -51  -67   -79
[2,]   14    0   -1   -2   -2   -9  -23  -37  -53   -65
[3,]   15    1    0   -1   -1   -8  -22  -36  -52   -64
[4,]   16    2    1    0    0   -7  -21  -35  -51   -63
[5,]   16    2    1    0    0   -7  -21  -35  -51   -63
[6,]   23    9    8    7    7    0  -14  -28  -44   -56
[7,]   37   23   22   21   21   14    0  -14  -30   -42
[8,]   51   37   36   35   35   28   14    0  -16   -28
[9,]   67   53   52   51   51   44   30   16    0   -12
[10,]   79   65   64   63   63   56   42   28   12     0
```

> averank

[1] 15 29 30 31 31 38 52 66 82 94
• Original Message ----- From: "IAIN GALLAGHER" <iaingallagher@btopenworld.com> To: "Martin Henry H. Stevens" <HStevens@MUOhio.edu> Cc: <r-help@stat.math.ethz.ch> Sent: Monday, October 17, 2005 2:29 PM Subject: Re: [R] Dunn's post hoc test

> after (though it's good to know).
>
> For the test ( as described in Statistics for the
> Biosciences by W. Gardiner. Prentice Hall, 1997) I
> have to rank my groups, calculate the average rank,
> then subtratc each average rank from every other. Any
> value greater than the test statistic is significant.
>
> eg average rank difference table:
>
> 2 5 8 9
> ---|------------------
> 2 - 3 6 7
> |
> 5 - - 3 4
> |
> 8 - - - 1
> |
> 9 - - - -
> |
>
> I can't get my head around writing an algorithm for
> this if I have a vector of average ranks eg averank<-
> c(2,5,8,9).
>
> I know I can address the vector by index and that this
> is probably the correct route but I can't get the
> indexing algorithm right!
>
> I'm sure someone will point out somethng simple and
> I'll kick myself but the help would be appreciated.
>
> Thanks again.
>
> Iain Gallagher
>
> --- "Martin Henry H. Stevens" <HStevens@MUOhio.edu>
> wrote:
>
> > I don't know Dunn's rank test, but the following
> > substracts each of
> > the sums of averanks from the next rank.
> >
> > cumsum(averank)[-length(averank)] - averank[-1]
> >
> > Hank
> >
> > On Oct 17, 2005, at 4:30 AM, Iain Gallagher wrote:
> >
> > > Hi Everyone.
> > >
> > > I am rather new to R and I've been trying to
> > implement a function to
> > > carry out the above test. For a couple of days now
> > I've been stuck on
> > > how to generate average rank differences.
> > >
> > > Say I have a vector of average ranks:
> > >
> > > averank<- c(2,5,9,12)
> > >
> > > I would like to subtract averank[1] from
> > averank[2], averank[1] and
> > > averank[2] from averank[3] and averank[1],
> > averank[2] and averank[3]
> > > from averank[4] etc (I know the syntax is wrong
> > here... it's just for
> > > illustration) but I can't work out how to do it.
> > >
> > > Ideally I would like to generate an array showing
> > the differences
> > > between the average ranks so I could tell at a
> > glance which ones were
> > > greater than my critical value
> > >
> > > I've been looking at loops etc but it's a little
> > beyond me at the
> > > moment. Thanks for any suggestions.
> > >
> > > Iain Gallagher
> > > IIIR
> > > Edinburgh University
> > >
> > > ______________________________________________
> > > R-help@stat.math.ethz.ch mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > http://www.R-project.org/posting-
> > > guide.html
> > >
> >
> > Dr. Martin Henry H. Stevens, Assistant Professor
> > 338 Pearson Hall
> > Botany Department
> > Miami University
> > Oxford, OH 45056
> >
> > Office: (513) 529-4206
> > Lab: (513) 529-4262
> > FAX: (513) 529-4243
> > http://www.cas.muohio.edu/~stevenmh/
> > http://www.muohio.edu/ecology/
> > http://www.muohio.edu/botany/
> > "E Pluribus Unum"
> >
> >
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help