ranking <- read.table("rankingRes.txt", header=TRUE) pdf('boxplot-S1.pdf') boxplot(ranking) dev.off() #Kendall's coefficient of concordance W (ranges from 0, no agreement, to 1,complete agreement) kendall(t(ranking)) # Texture paire vs Judged Rank: resTabl <- matrix(data = 0, nrow=10, ncol=10) for (i in 1:nrow(ranking)){ for (j in 1:10){ resTabl[ranking[i,j],j] = 1 + resTabl[ranking[i,j],j] } } # Mean rank: mean <- c(0,0,0,0,0,0,0,0,0,0) for (i in 1:10){ for (j in 1:10){ mean[i] = mean[i] + resTabl[j,i]*j } mean[i] = mean[i]/nrow(ranking) } # Proportions: (#rank - mean rank)/(#ranks-1) proportions <- c(0,0,0,0,0,0,0,0,0,0) for (i in 1:10){ proportions[i]=(10-mean[i])/9 } #Z scores: (normal distribution assomption => Thurstone's law of comparative judgement) pdf('qqnorm-S1.pdf') myquant = qqnorm(proportions) dev.off() shapiro.test(proportions) pMean <- mean(proportions) pSd <- sd(proportions) zScores <- c(0,0,0,0,0,0,0,0,0,0) for (i in 1:10){ zScores[i] = (proportions[i]-pMean)/pSd } library(ade4) pdf('intervalScale-S1.pdf') sco.label(zScores, label=c("1","2","3","4","5","6","7","8","9","10"),pos.lab=0.2) dev.off() #Significance test between pairs: Wilcoxon signed-rank test res <- matrix(data=0, nrow=10, ncol=10) for (i in 1:9) { for (j in (i+1):10) { res[i,j] <- (wilcox.test(array(ranking[,i]),array(ranking[,j]),var.equal=FALSE,paired=TRUE,mu=0,alternative="two.sided",conflevel=0.95))$p.value } }