[ shiny ] recupération des levels d'une variable factor pour s'en resservir dans un checkboxinput
Bonjour à tous,
je vous décris dans un premier temps mon algo:
1) je charge mes données
Dedans, j'ai une variable temps (qui peut etre appelée comme l'on veut).
Je souhaite déclarer ma variable temps (par un selectInput)
Ensuite, une fois que j'ai ma variable temps, qui admet plusieurs modalités, Il y a un checkbox qui s'active avec une coche par temps.
C'est ce passage là que je n'arrive pas à mettre en action !
Mon code IU:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
column(8,
selectInput("vartemps",
label = h4("Choisir la variable Temps "),
choices = names(df),
selected = NULL)
,
checkboxGroupInput('checktempsIU', h4("Selectionner les temps inclus dans l'analyse"),
choices= "toto", selected=NULL
,inline=T) |
mon code server
Code:
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
| observe({
df <- filedata()
if (!is.null(df)) {
#
# ici j'ai plusieurs Selectinput, seul vartemps, m'intéresse
updateSelectInput(session,"vartemps", choices =c("pas de temps",names(df)))
updateSelectInput(session,"varsujet", choices =c("pas de sujet selectionne",names(df)))
updateSelectInput(session,"varprod", choices =c("pas de Produit selectionne", names(df)))
updateSelectInput(session,"varinteret", choices =c("pas de variable selectionnee", names(df)))
}
})
observe({
df <-filedata()
xvariable<- input$vartemps
if (is.null(df)) return(NULL)
if(input$vartemps="pas de temps"){
checkboxGroupInput("checktemps",
choices = list(levels(df[,input$vartemps]),inline=T)
)
}
}) |
mon message d'erreur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Listening on http://127.0.0.1:7628
Warning: Error in [.data.frame: undefined columns selected
Stack trace (innermost first):
61: [.data.frame
60: [
59: levels
58: lapply
57: listify
56: choicesWithNames
55: checkboxGroupInput
54: observerFunc [C:\Users\itm\Desktop\Documents\appli Clarins/server.R#58]
1: shiny::runApp |
Suis je suis la bonne voie?
pourquoi des fois on met updateselectinput, des fois selectizeinput, des fois selectinput.
Bref, c'est ma première appli et j'ai du mal à faire le lien entre le UI et le server ...
Merci infiniement pour votre aide
Maïna