2015-10-13 10 views
6

błyszczące selectInput widget wymaga nazwie listy wyborów w następującym formacie:make lista na błyszczące rozwijanej selectInput

choices = list(
    "mpg" = 1, 
    "cyl" = 2, 
    "disp" = 3, 
    "hp" = 4 
    # ..... etc 
) 

dane ramek będzie moim błyszczące aplikacji nie będą mieć te same nazwy zmiennych, więc chciałbym generować listę nazwisk w locie.

tutaj jest próbą:

data(mtcars) 

choices = data.frame(
    var = names(mtcars), 
    num = 1:length(names(mtcars)) 
) 

> head(choices) 
    var num  mylist 
1 mpg 1 "mpg" = 1 
2 cyl 2 "cyl" = 2 
3 disp 3 "disp" = 3 
4 hp 4 "hp" = 4 
5 drat 5 "drat" = 5 
6 wt 6 "wt" = 6 

paste(choices$mylist, collapse = ",") 

wygląda to blisko, ale to nie działa:

... 
box(
     selectInput(
      "select", 
      label = h3("Select box"), 
      choices = list(
      paste(choices$mylist, collapse = ",") 
     ) 
    ) 
... 

enter image description here

jaki sposób można dokonać tej pracy?

Odpowiedz

3

Cześć czy zrozumiałem pytanie prawo można po prostu zrobić:

data(mtcars) 

choices = data.frame(
    var = names(mtcars), 
    num = 1:length(names(mtcars)) 
) 
# List of choices for selectInput 
mylist <- as.list(choices$num) 
# Name it 
names(mylist) <- choices$var 
# ui 
ui <- fluidPage(
    selectInput(
    "select", 
    label = h3("Select box"), 
    choices = mylist 
) 
) 
# server 
server <- function(input, output) { 

} 
# app 
shinyApp(ui = ui, server = server) 
Powiązane problemy