J'essaie de convertir des niveaux de facteur dans une liste afin de créer une entrée dynamique pour une fonction SelectInput dans R Shiny.Convertir les niveaux de facteur en listes à utiliser dans une entrée dynamique dans R Shiny
Fondamentalement, j'importe un fichier CSV et je voudrais créer la liste déroulante dans SelectInput en utilisant les "catégories" (niveaux) dans la première colonne du fichier CSV.
Ainsi, UI.RI ont:
uiOutput("categoryPicker")
Et server.RI ont:
datatwo <- read.csv(file="data2.csv",head=TRUE,sep=",")
puis, dans la section "shinyServer (fonction (entrée, sortie)" (» catégorie » est un en-tête dans le fichier CSV, en passant):
output$categoryPicker <- reactiveUI(function() {
categories <- levels(datatwo$category)
selectInput("category", "Category:", categories)
})
Cela ne fonctionne pas, me donne l'erreur suivante:
Error in choices[[choiceName]] : subscript out of bounds
La str (catégories) de sortie est la suivante:
chr [1:22] "" "Cat1" "Cat2" "Cat3" "Cat4" "Cat5" ...
Si je fais "liste (niveaux (Datatwo catégorie $)", il me donne juste une goutte vers le bas, ce qui est l'ensemble str (catégories) sortie:
List of 1 $ : chr [1:22] "" "Cat1" "Cat2" "Cat3" ...
Je suis en train d'obtenir ce sous la forme de (telle que, lorsque str (x) est fait la sortie serait):
List of X
$ Cat1: chr "Cat1"
$ Cat2: chr "Cat2"
$ Cat3: chr "Cat3"
...
Mais je ne suis pas sûr de savoir comment faire cela. Je ne sais pas non plus pourquoi le premier élément est un "" [chaîne vide]. Je suis assez nouveau à R et Shiny alors pardonnez mon ignorance, mais toute aide serait grandement appréciée.
BTW, je travaille de ce tutoriel: http://rstudio.github.com/shiny/tutorial/#dynamic-ui
Merci.
S'il vous plaît donner un exemple reproductible au lieu des extraits de code. –
première supposition, peut-être vous avez besoin d'utiliser 'as.list' sur' categories', au lieu de 'list'? –