# context("clustering")
testthat::test_that("Clustering works", {
require(mosaicData)
KidsFeet2 <- KidsFeet |> select(-name, -birthmonth) |> rescale()
M <- dist(KidsFeet2)
Cl <- hclust(M)
testcase1 <- structure(list(x = c(17.642578125, 6.03125, 17.642578125),
y = c(2.15388023295916, 2.15388023295916, 2.15388023295916),
xend = c(6.03125, 6.03125, 29.253906),
yend = c(2.15388023295916, 1.83303857851649, 2.15388023295916),
order = c(34L, 34L, 8L),
group = c(4L, 4L, 1L)),
row.names = c(NA,3L),
class = "data.frame")
testcase2 <- structure(list(idx = 1:3,
position = c(15L, 37L, 35L),
variable = c("birthyear","birthyear", "birthyear"),
value = c(1, 0, 0),
variable_num = c(1L, 1L, 1L)),
row.names = c(NA, 3L),
class = "data.frame")
testcase3 <- structure(list(birthyear = c(1, 0, 0),
length = c(0.47457627118644,0.644067796610169, 0.491525423728813),
width = c(0.263157894736842,0.473684210526316, 0.947368421052631),
sex = c(0, 0, 0),
biggerfoot = c(0, 0, 1),
domhand = c(1, 0, 1),
idx = 1:3,
position = c(15L, 37L, 35L)),
row.names = c(NA, 3L),
class = "data.frame")
testcase4 <- structure(list(x = c(1, 2, 3),
y = c(0, 0, 0),
label = structure(1:3,
.Label = c("6","21", "35", "30", "10", "34", "17",
"23", "20", "9", "18", "32","16", "38",
"1", "22", "29", "5", "12", "4", "26",
"7", "14", "19", "31", "27", "37", "25",
"8", "36", "33", "24", "39", "11", "3",
"28", "2", "13", "15"), class = "factor"),
order = c(6L,21L, 35L)),
row.names = c(NA, 3L),
class = "data.frame")
expect_equal(testcase1, fortify(Cl, k=5) |> head(3))
expect_equal(testcase2, fortify(Cl, which="heatmap", data=KidsFeet2) |> head(3))
expect_equal(testcase3, fortify(Cl, which="data", data=KidsFeet2) |> head(3))
# seems like ggdendro migth be caught by the stringsAsFactors change, so this
# didn't succeed on debian when CRAN checked it. Removing the check for now 3/5/2020
# expect_equal(testcase4, fortify(Cl, which="labels") |> head(3))
wrapped_expect_doppelganger("clustering1", mplot(Cl, data=KidsFeet2, k=4, heatmap=2))
wrapped_expect_doppelganger("clustering2", mplot(Cl, data=KidsFeet2, k=4, heatmap=0.5, enumerate="transparent"))
wrapped_expect_doppelganger("clustering3", mplot(Cl, data=KidsFeet2, k=4, heatmap=2, type="triangle"))
wrapped_expect_doppelganger("clustering4", mplot(Cl, data=KidsFeet2, k=4, heatmap=0, type="triangle"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.