Bonjour,
Je souhaiterais avoir votre avis sur un exemple de programme R Shiny utilisant les menus.
serverui
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 library(shiny) library(shinydashboard) shinyServer <- function(input, output) { mydata<-eventReactive(input$go,{ x<-input$x var1<-seq(0,x,0.5) var2<-3*var1+2 var3<-0.5*var1^2 list(var1=var1,var2=var2,var3=var3) }) output$graph1<-renderPlot({ data<-mydata() var1<-data$var1 var2<-data$var2 plot(var1,var2,col=2) }) output$graph2<-renderPlot({ data<-mydata() var1<-data$var1 var3<-data$var3 plot(var1,var3,col=3) }) }Pour la partie "server", je pense que ça ne convient pas. Il faudrait diviser le code pour pour chacun des menus. Comment y procède-t-on ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 #install.packages("shinydashboard") library(shinydashboard) shinyUI <- dashboardPage( dashboardHeader(title="test"), dashboardSidebar( sidebarMenu( menuItem("var2", tabName = "menu1", icon = icon("dashboard")), menuItem("var3", tabName = "menu2", icon = icon("th")) ) ), dashboardBody( tabItems( tabItem(tabName = "menu1", fluidRow( box( title="Parametre", numericInput("x", "x : ", 60, min = 0), actionButton("go","Go") ), box( plotOutput("graph1") ) ) ), tabItem(tabName = "menu2", fluidRow( box( title="Parametre", numericInput("x", "x : ", 60, min = 0), actionButton("go","Go") ), box( plotOutput("graph2") ) ) ) ) ) )
Par exemple, une fois l'application ouvert, si on se dirige directement dans le menu 2 et qu'on lance le programme, rien ne s'exécute... Mais j'aimerais également que le programme concernant chaque menu ne soit pas exécuté tant qu'on y a pas été.
Merci pour vos retours.
Aleksik
Partager