|
| 1 | +library(shiny) |
| 2 | + |
| 3 | +titlePanel_h4 <- function(title, windowTitle = title) { |
| 4 | + tagList(tags$head(tags$title(windowTitle)), h4(title)) |
| 5 | +} |
| 6 | + |
| 7 | +# Define UI for application that draws a histogram |
| 8 | +shinyUI( |
| 9 | + navbarPage( |
| 10 | + title = titlePanel_h4("Courbe logistique"), |
| 11 | + tabPanel( |
| 12 | + "Un peu de théorie", |
| 13 | + sidebarLayout( |
| 14 | + sidebarPanel( |
| 15 | + withMathJax(), |
| 16 | + h4("Le Contexte"), |
| 17 | + p("Le modèle exponentiel qui décrit une croissance infinie sans |
| 18 | + aucunes contraintes n’est pas une hypothèse réaliste. En pratique, |
| 19 | + la croissance est limitée par les ressources disponibles. |
| 20 | + Verhulst (1838) propose un modèle qui tient compte d'une limite |
| 21 | + théorique des ressources disponibles."), |
| 22 | + h4("L'équation mathématique :"), |
| 23 | + p("$$\\frac{Asym}{1 + e^{\\frac{xmid - input}{scal}}}$$"), |
| 24 | + h4("Eléments importants :"), |
| 25 | + p("- une croissance exponentielle"), |
| 26 | + p("- deux asymptotes horizontales en 0 et en Asym"), |
| 27 | + hr(), |
| 28 | + h4("La fonction dans R : "), |
| 29 | + p("$$SSlogis(input, Asym, xmid, scal)$$"), |
| 30 | + h5("Arguments de la fonction : "), |
| 31 | + p("input: est un vecteur de nombre représentant le temps."), |
| 32 | + p("Asym : est la valeur maximale de y représenté par un asymptote |
| 33 | + horizontale."), |
| 34 | + p("xmid : est la valeur de input pour y = Asym/2"), |
| 35 | + p("scal: exprime la vitesse de croissance. une valeur faible de scal |
| 36 | + indique une vitesse lente et un faible valeur de scal indique une |
| 37 | + vitesse élevé"), |
| 38 | + width = 5 |
| 39 | + ), |
| 40 | + mainPanel( |
| 41 | + p("Le graphique ci-dessous représente une courbe logistique avec |
| 42 | + Asym = 0.95, xmid = 5, scal = 0.95"), |
| 43 | + plotOutput("logis_theo"), |
| 44 | + width = 7 |
| 45 | + ) |
| 46 | + ) |
| 47 | + ), |
| 48 | + tabPanel( |
| 49 | + title = "A toi de jouer !", |
| 50 | + sidebarLayout( |
| 51 | + sidebarPanel( |
| 52 | + withMathJax(), |
| 53 | + p("La courbe logistique permet de modéliser des croissances |
| 54 | + exponentielles avec la présence de deux asymptotes horizontales"), |
| 55 | + p("L'équation mathématique de la fonction est la |
| 56 | + suivante: $$y = \\frac{Asym}{1 + e^{\\frac{xmid - input}{scal}}}$$"), |
| 57 | + numericInput(inputId = "asym_ui", label = "Valeur de Asym (asymptote horizontale)", |
| 58 | + value = 1.00, min = 0.50, max = 10.00, step = 0.5), |
| 59 | + p("Valeur par défaut : 1"), |
| 60 | + numericInput(inputId = "xmid_ui", label = "Valeur de xmid", |
| 61 | + value = 1.00, min = 0.25, max = 10.00, step = 0.25), |
| 62 | + p("Valeur par défaut : 1"), |
| 63 | + numericInput(inputId = "k_ui", label = "Valeur de scal", |
| 64 | + value = 1.00, min = 0.25, max = 10.00, step = 0.25), |
| 65 | + p("Valeur par défaut : 1") |
| 66 | + ), |
| 67 | + mainPanel( |
| 68 | + h4("Ajustez le meilleur modèle logistique"), |
| 69 | + p("Vous devez ajuster votre modèle en faisant varier les |
| 70 | + paramètres du modèle."), |
| 71 | + plotOutput("logis_plot"), |
| 72 | + hr(), |
| 73 | + withMathJax(), |
| 74 | + uiOutput("logis_model"), |
| 75 | + hr(), |
| 76 | + uiOutput("logis_resid"), |
| 77 | + hr() |
| 78 | + ) |
| 79 | + ) |
| 80 | + ) |
| 81 | + ) |
| 82 | +) |
0 commit comments