# Vector based example same as stats::cor(x, y, method = "kendall")
# but showing N-effective
x = c(1, 2, 3, 4, 5)
y = c(1, 1, 3, 2, NA)
w = c(1, 1, 3, 2, 5)
kendallTau(x, y)
kendallTau(x, w)
# Matrix and PlacketLuce ranking example
library("PlackettLuce")
R = matrix(c(1, 2, 4, 3,
1, 4, 2, 3,
1, 2, NA, 3,
1, 2, 4, 3,
1, 3, 4, 2,
1, 4, 3, 2), nrow = 6, byrow = TRUE)
colnames(R) = LETTERS[1:4]
G = group(as.rankings(R), 1:6)
mod = pltree(G ~ 1, data = G)
preds = predict(mod)
kendallTau(R, preds)
# Also returns raw values (no average)
kendallTau(R, preds, average = FALSE)
# Choose to ignore entries with NA
R2 = matrix(c(1, 2, 4, 3,
1, 4, 2, 3,
NA, NA, NA, NA,
1, 2, 4, 3,
1, 3, 4, 2,
1, 4, 3, 2), nrow = 6, byrow = TRUE)
kendallTau(R, R2, average = FALSE)
kendallTau(R, R2, average = TRUE)
kendallTau(R, R2, average = TRUE, na.omit = TRUE)
if (FALSE) { # interactive()
set.seed(42)
x = rnorm(100)
y = rnorm(100)
split = rep(c("Group1", "Group2", "Group3"), length.out = 100)
kendallTau_permute(x, y, split)
data("breadwheat", package = "gosset")
x = rank_tricot(breadwheat,
items = paste0("variety_", letters[1:3]),
input = c("yield_best", "yield_worst"),
validate.rankings = TRUE)
y = rank_tricot(breadwheat,
items = paste0("variety_", letters[1:3]),
input = c("overall_best", "overall_worst"),
validate.rankings = TRUE)
kendallTau_permute(x, y,
split = rep(c("Group1", "Group2", "Group3"), length.out = nrow(breadwheat)),
n.permutations = 100)
}
Run the code above in your browser using DataLab