# soling In hyper2: The Hyperdirichlet Distribution, Mark 2

```set.seed(0)
knitr::opts_chunk\$set(echo = TRUE)
library("hyper2")
library("magrittr")
options("digits" = 5)
```

The Soling is a type of boat raced in the 2000 Summer Olympics. Here I analyse race data taken from wikipedia using a Plackett-Luce extension of the Bradley-Terry model.

```soling_table <- read.table("soling.txt")
soling_table
```

Thus we see, reading column 1, that in race 1, `norway` came fifth, `nz` third, `netherlands` first, and so on. We can present this information in a rank table format:

```ordertable_to_ranktable(soling_table)
```

and also convert it to a likelihood function:

```soling <- ordertable2supp(soling_table)
```

We can also consider observations from the round robins and quarter finals:

```soling_rr1 <- read.table("soling_rr1.txt")
soling_rr1
```

Thus, for example, taking `soling_rr1[1,2] == TRUE` we see that Germany beat Sweden in round robin 1. To incorporate this information we need a little bespoke function:

```rr <- function(H,M){
for(i in seq_len(nrow(M)-1)){
for(j in (i+1):ncol(M)){
if(M[i,j]){
winner <- rownames(M)[i]
loser  <- rownames(M)[j]
} else {
winner <- rownames(M)[j]
loser <-  rownames(M)[i]
}
H[winner] %<>% inc
H[c(winner,loser)] %<>% dec
}
}
return(H)
}
```

We can see the effect on the evaluate of incorporating the additional observations into the Plackett-Luce likelihoods:

```H <- soling  # before new information
soling_maxp <- maxp(H)
H %<>% rr(soling_rr1)
H %<>% rr(soling_rr2)
H %<>% rr(soling_qf)
soling_after <- H # after new information
soling_after_maxp <- maxp(soling_after)
par(pty="s")
plot(soling_maxp,soling_after_maxp,asp=1,pch=16,xlim=c(0,0.3),ylim=c(0,0.3))
abline(0,1)
```

Figure \@ref(fig:showdiff) shows a modest change. We might ask whether the additional observations are consistent with the original Placket-Luce likelihood:

```(soling_diff <- soling_after - soling)
```

So `soling_diff` is the difference between `H`--- which is `soling` plus the observations from the roundrobins and quarter finals---and `soling` without the extra information. In other words, the information in the roundrobins and quarter finals.

```equalp.test(soling_diff)
```

### Package dataset {-}

Following lines create `soling.rda`, residing in the `data/` directory of the package.

```save(soling,soling_after, soling_maxp,soling_after_maxp,soling_table,
soling_rr1, soling_rr2, soling_qf,
file="soling.rda")
```

## Try the hyper2 package in your browser

Any scripts or data that you put into this service are public.

hyper2 documentation built on March 4, 2021, 9:09 a.m.