R code for computing the ad agreement measure and its 95% critical value
The code below can be pasted at a R prompt in R.
Firstly read in the fields and foreign libraries.
Install.packages(c(“fields”,"foreign")) library(fields) library(foreign)
Next read in the raw data which can be read in from a SPSS spreadsheet with items as rows and raters as columns. An example input for 3 raters (r1, r2 and r3) rating each of 5 items (upto a maximum rating of 7) taken from section 5.2 of Kreuzpointner et al. (2010) is given here.
score <- read.spss("U:\\R_Work\\items.sav")
Just paste this function text below into R.
adval <- function(b, perc) { score <- data.frame(score) score <- as.matrix(score) score <- t(score) nrate <- nrow(score) nitem <- ncol(score) a <- 1 rate <- matrix(score,nrow=nrate,ncol=nitem) adboot <- matrix(0,1000,1) out <- 0 for (i in 1:nitem) { out <- out + sum(rdist(rate[,i])^2)/2 } ifelse (nrate-floor(nrate/2)*2 > 0, dmax <- nitem * (b-a)*(b-a)*0.25*(nrate*nrate-1), dmax <- nitem * (b-a)*(b-a)*0.25*(nrate*nrate)) ad <- 1 - (out/dmax) # bootstrap to obtain 95 percentile for the null distribution of ad based on the # binomial distribution using 10000 samples as sugegsted by Kreuzpointner et al. p <- (mean(rate)-1)/(b-1) n <- b-1 outboo <- 0 for (ict in 1:10000) { outboo <- 0 rb <- rbinom(nitem*nrate,n,p)+1 rboo <- matrix(rb,nrow=nrate,ncol=nitem) for (i in 1:nitem) { outboo <- outboo + sum(rdist(rboo[,i])^2)/2 } adboot[ict] <- 1 - (outboo/dmax) } cat("ad = ", ad, "\n") cat(100*perc,"percentile for ad = ",quantile(adboot,probs=perc), "\n") }
Then you are ready to run the function above using the maximum number of ratings and 1- the significance level as inputs.
adval(7,0.95)
which should output something like the below
ad = 0.9722222 95 percentile for ad = 0.9777778
So there is no evidence that there is an agreement between the raters. Note: we get a slightly different result to Kruezpointner et al. because we use a binomial probability of 0.15 instead of 0.2, as in their paper, to estimate the critical 5% threshold for statistical significance.
Reference
Kreuzpointner L, Simon P and Theis FJ (2010) The ad coefficient as a descriptive measure of the within-group agreement of ratings. British Journal of Mathematical and Statistical Psychology 63 341-360.