Nothing
test_that("PCA/MCA visualization helpers return ggplot objects", {
skip_if_not_installed("FactoMineR")
pca <- FactoMineR::PCA(iris[, 1:4], graph = FALSE)
p_ind <- fviz_pca_ind(pca)
p_var <- fviz_pca_var(pca)
expect_s3_class(p_ind, "ggplot")
expect_s3_class(p_var, "ggplot")
set.seed(123)
mca_df <- data.frame(
a = factor(sample(letters[1:3], 40, TRUE)),
b = factor(sample(LETTERS[1:3], 40, TRUE)),
c = factor(sample(c("x", "y"), 40, TRUE)),
sup_q = factor(sample(c("q1", "q2"), 40, TRUE)),
sup_n = rnorm(40)
)
mca <- FactoMineR::MCA(mca_df, quali.sup = 4, quanti.sup = 5, graph = FALSE)
p_mca <- fviz_mca_var(mca, choice = "mca.cor")
expect_s3_class(p_mca, "ggplot")
})
test_that("cluster visual helpers work on hcut/hkmeans outputs", {
x <- scale(USArrests)
hc <- hcut(x, k = 4)
km <- hkmeans(x, k = 4)
p1 <- fviz_cluster(hc)
p2 <- fviz_cluster(km)
p3 <- fviz_silhouette(hc, print.summary = FALSE)
expect_s3_class(p1, "ggplot")
expect_s3_class(p2, "ggplot")
expect_s3_class(p3, "ggplot")
})
test_that("fviz_dend supports rectangular dendrogram layout", {
hc <- hclust(dist(iris[, 1:4]))
p <- fviz_dend(hc, k = 3, rect = TRUE, show_labels = FALSE)
expect_s3_class(p, "ggplot")
})
test_that("fviz_pca_biplot supports form and covariance scaling modes", {
res.pca <- stats::prcomp(iris[, 1:4], scale. = TRUE)
p_form <- fviz_pca_biplot(res.pca, biplot.type = "form")
p_cov <- fviz_pca_biplot(res.pca, biplot.type = "covariance")
expect_s3_class(p_form, "ggplot")
expect_s3_class(p_cov, "ggplot")
})
test_that("fviz_eig parallel analysis is reproducible with parallel.seed", {
res.pca <- stats::prcomp(iris[, 1:4], scale. = TRUE)
extract_parallel_threshold <- function(p) {
layers <- ggplot2::ggplot_build(p)$data
idx <- which(vapply(layers, function(df) {
"shape" %in% names(df) && all(df$shape == 4)
}, logical(1)))
if(length(idx) == 0) return(numeric(0))
layers[[idx[1]]]$y
}
p1 <- fviz_eig(
res.pca, choice = "eigenvalue", parallel = TRUE,
parallel.iter = 20, parallel.seed = 42
)
p2 <- fviz_eig(
res.pca, choice = "eigenvalue", parallel = TRUE,
parallel.iter = 20, parallel.seed = 42
)
p3 <- fviz_eig(
res.pca, choice = "eigenvalue", parallel = TRUE,
parallel.iter = 20, parallel.seed = 43
)
th1 <- extract_parallel_threshold(p1)
th2 <- extract_parallel_threshold(p2)
th3 <- extract_parallel_threshold(p3)
expect_true(length(th1) > 0)
expect_equal(th1, th2)
expect_false(isTRUE(all.equal(th1, th3)))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.