set.seed(0) knitr::opts_chunk$set(echo = TRUE) library("hyper2") library("magrittr") options("digits" = 5)
knitr::include_graphics(system.file("help/figures/hyper2.png", package = "hyper2"))
To cite the hyper2
package in publications, please use @hankin2017_rmd.
Here I analyse a dataset on NZ university rankings, taken from the
Times Higher Educational Supplement. First load the data:
uni_table <- read.table("universities.txt",header=TRUE) universities_table <- uni_table head(universities_table,12)
Each row corresponds to a ranking in the THE ranking system. Thus the first row refers to The University of Auckland 2012, and we see that they scored 28.3 for their teaching, 25.0 for their research, and so on; rows 3 and 4 show that AUT and Lincoln were not given rankings that year. Rows 1-8 give results for 2012, rows 9-16 give 2013, and so on to 2020.
We can coerce each year to a hyper2
likelihood function by
converting to an order table with order()
, thence to a support function:
f <- function(a,y){ a <- subset(a,a$year==y) o <- function(v){ # 'v' is a character vector good <- v != "DNP" v[good] <- rank(-as.numeric(v[good]),ties.method="last") return(v) } out <- data.frame(o(a[,3]),o(a[,4]),o(a[,5]),o(a[,6]),o(a[,7])) colnames(out) <- colnames(a)[3:7] rownames(out) <- a[,1] return(out) } f(universities_table,2012)
Now:
universities <- hyper2(pnames=universities_table[1:8,1]) for(i in 2013:2020){universities %<>% `+`(ordertable2supp(f(universities_table,i)))} universities
Object universities
is simply the support function for the
universities' strengths for all years' observations (assumed to be
independent) 2013-2020:
universities_maxp <- maxp(universities) universities_maxp pie(universities_maxp)
Note the dominance of Auckland (UoA). We observe that AUT has increased its strength since 2016 and we can test whether this increase is significant:
H1 <- hyper2(pnames=c("AUT_pre",universities_table[c(1:2,4:8),1])) for(i in 2012:2016){ b <- f(universities_table,i) rownames(b)[3] <- "AUT_pre" H1 <- H1 + ordertable2supp(b) } # column loop closes H2 <- hyper2(pnames=c("AUT_post",universities_table[c(1:2,4:8),1])) for(i in 2017:2020){ jj <- f(universities_table,i) rownames(jj)[3] <- "AUT_post" H2 <- H2 + ordertable2supp(jj) } maxp(H2)
H <- H1 + H2 maxp(H)
So from the above we see that the estimated post-2016 strength of AUT is larger than the pre-2016 strength. Is this change significant?
samep.test(H,c("AUT_pre","AUT_post"))
Following lines create universities.rda
, residing in the data/
directory of the package.
save(universities_table,universities_maxp,universities,file="universities.rda")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.