Adjusted Rand Index
adjustedRandIndex.Rd
Computes the adjusted Rand index comparing two classifications.
Arguments
- x
A numeric or character vector of class labels.
- y
A numeric or character vector of class labels. The length of
y
should be the same as that ofx
.
Value
The adjusted Rand index comparing the two partitions (a scalar). This index has zero expected value in the case of random partition, and it is bounded above by 1 in the case of perfect agreement between two partitions.
References
L. Hubert and P. Arabie (1985) Comparing Partitions, Journal of the Classification, 2, pp. 193-218.
Examples
a <- rep(1:3, 3)
a
#> [1] 1 2 3 1 2 3 1 2 3
b <- rep(c("A", "B", "C"), 3)
b
#> [1] "A" "B" "C" "A" "B" "C" "A" "B" "C"
adjustedRandIndex(a, b)
#> [1] 1
a <- sample(1:3, 9, replace = TRUE)
a
#> [1] 3 2 3 3 2 3 1 2 2
b <- sample(c("A", "B", "C"), 9, replace = TRUE)
b
#> [1] "A" "A" "B" "A" "B" "C" "C" "B" "B"
adjustedRandIndex(a, b)
#> [1] 0.08695652
a <- rep(1:3, 4)
a
#> [1] 1 2 3 1 2 3 1 2 3 1 2 3
b <- rep(c("A", "B", "C", "D"), 3)
b
#> [1] "A" "B" "C" "D" "A" "B" "C" "D" "A" "B" "C" "D"
adjustedRandIndex(a, b)
#> [1] -0.2790698
irisHCvvv <- hc(modelName = "VVV", data = iris[,-5])
cl3 <- hclass(irisHCvvv, 3)
adjustedRandIndex(cl3,iris[,5])
#> [1] 0.7591987
irisBIC <- mclustBIC(iris[,-5])
adjustedRandIndex(summary(irisBIC,iris[,-5])$classification,iris[,5])
#> [1] 0.5681159
adjustedRandIndex(summary(irisBIC,iris[,-5],G=3)$classification,iris[,5])
#> [1] 0.9038742