Skip to content

Commit 01dc296

Browse files
update score value and add info on penguins dataset
1 parent c0843d4 commit 01dc296

File tree

1 file changed

+16
-14
lines changed
  • devel/shiny/B05Sa_cluster

1 file changed

+16
-14
lines changed

devel/shiny/B05Sa_cluster/app.R

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -351,28 +351,30 @@ peng %>.%
351351

352352
# specific Function ----
353353

354-
score_cah <- function(x, reference = peng$species) {
354+
score_cah <- function(x, reference = peng$species, digits = 5) {
355355
tab <- table(reference, x)
356356
max_gr <- apply(tab, 1, which.max)
357+
tab[ , ]
357358

358359
if(length(unique(max_gr)) < 3)
359360
res <- "Votre CAH ne permet pas de retrouver les 3 groupes. Un ou plusieurs groupes sont confondus."
360361

361362
if(length(unique(max_gr)) == 3) {
362-
tot <- rowSums(tab[, unique(max.col(tab))]) / rowSums(tab)
363-
res <- paste0("Votre CAH permet de discerner 3 groupes avec une précision de ", (100*sum(tot)/nlevels(reference)), "%.")
363+
tot <- apply(tab, 1, max) / rowSums(tab)
364+
res <- paste0("Votre CAH permet de discerner 3 groupes avec une précision de ", round((100*sum(tot)/nlevels(reference)),digits = digits ), "%.")
364365
}
365366
res
366367
}
367368

368369
# UI -----
369370

370371
ui <- fluidPage(
371-
learndownShiny("Regroupement d'espèces de manchôt avec la classification hiérarchique ascendante."),
372+
learndownShiny("Regroupement d'espèces de manchôts avec la classification hiérarchique ascendante."),
372373

373374
sidebarLayout(
374375
sidebarPanel(
375-
p("Vous avez à disposition 342 manchôts mâles de 3 espèces différentes. Trouvez les meilleurs paramètres afin d'obtenir la plus haute similitude entre votre CAH et les observations de terrain."),
376+
p("Vous avez à disposition 342 manchôts de 3 espèces différentes. Trouvez les meilleurs paramètres afin d'obtenir la plus haute similitude entre votre CAH et les observations de terrain."),
377+
p("Les variables monitorées sont les suivante : la longueur du bec (mm), la profondeur du bec (mm), la longueur de la nageoire (mm), la masse (g)."),
376378
selectInput("method_dist", "Indice de distance", choices = c("euclidian", "bray", "canberra", "manhattan")),
377379
selectInput("scale", "Standardisation", choices = c(FALSE, TRUE)),
378380
selectInput("method_clust", "Méthode de CAH", choices = c("complete", "single","average", "ward.D2")),
@@ -409,7 +411,7 @@ server <- function(input, output, session) {
409411
output$dendrogram <- renderPlot({
410412
cah <- cah()
411413
chart(cah) +
412-
ylab("hauteur")
414+
ylab("Hauteur")
413415
})
414416

415417
output$tab_res <- renderTable({
@@ -427,14 +429,14 @@ server <- function(input, output, session) {
427429
})
428430

429431

430-
# trackEvents(session, input, output,
431-
# sign_in.fun = BioDataScience::sign_in, config = conf)
432-
# trackSubmit(session, input, output, max_score = 4, solution =
433-
# list(asym = asym_init, lrc = lrc_init, c0 = c0_init, m = m_init),
434-
# comment = "y(x) = Asym * e^(- b2 * b3^x)",
435-
# message.success = "Correct, c'est le meilleur modèle.",
436-
# message.error = "Incorrect, un modèle mieux ajusté existe.")
437-
# trackQuit(session, input, output, delay = 20)
432+
trackEvents(session, input, output,
433+
sign_in.fun = BioDataScience::sign_in, config = conf)
434+
trackSubmit(session, input, output, max_score = 3, solution =
435+
list(method_dist = "euclidian", scale = "TRUE", method_clust = "ward.D2"),
436+
comment = "",
437+
message.success = "Correct, c'est la meilleur solution. La CAH obtient un score très bon de plus de 94 % de correspondace",
438+
message.error = "Incorrect, un meilleur choix des paramètres est possible.")
439+
trackQuit(session, input, output, delay = 20)
438440
}
439441

440442
shinyApp(ui, server)

0 commit comments

Comments
 (0)