Próbuję zbudować aplikację przy użyciu Shiny. Będzie zawierać 2 listy rozwijane, jedna pokaże nazwę 7 różnych sektorów - bank, stal, fmcg itd. Inne menu powinno zawierać listę nazw firm z wybranego sektora, tzn. Lista nazw będzie dynamiczna.Zmiana opcji wyboru wejścia w r Błyszczące
1.Nie mam pojęcia, jak zmienić listę nazw drugiego menu rozwijanego dynamicznie, np. jeśli wybieramy "IT" 2nd rozwijana powinna zawierać "Infosys", "TCS" etc, jeśli wybierzemy "bank", 2nd rozwijana musr wyświetlić "SBI", "IČIĆI" itd
ui.R
library(shiny)
shinyUI(fluidPage(
titlePanel("Forecasting of stock prices and their accuracies"),
sidebarLayout(
sidebarPanel(
radioButtons("rd",
label="Select time range for training dataset",
choices=list("23 month","18 month","12 month","6 month"),
selected="23 months"),
selectInput("sector",
label="select a sector",choices=list("IT"=1,"Bank"=2,"Power"=3,"Steel"=4,
"FMCG"=5,"Infrastructure"=6,"Automobile"=7),
selected=1),
selectInput("stock",
label="select a option",choices=list("co.1"=1,"co.2"=2,
"co.3"=3,"co.4"=4,"co.5"=5,"
co.6"=6,"co.7"=7,"co.8"=8),
selected=1)
),
mainPanel("Display results",
textOutput("summary"),
tableOutput("view"))
)
))
server.R
shinyServer(function(input, output) {
datasetInput <- reactive({
if(input$sector=="1"){
switch(input$stock,
"1" = Infy,
"2" = TCS,
"3" = Wipro,
"4" = TechM)}
else if(input$sector=="2"){
switch(input$stock,
"1" = SBIN,
"2" = ICICI,
"3" = HDFC,
"4" = Axis,
"5" = IDBI,
"6" = PSB,
"7" = BOI,
"8" = Bob
)}
})
output$view<-renderTable({
head(datasetInput(),n=10)
})
})
Jest przykładem na https://gist.github.com/wch/4211337, można znaleźć inni, wpisując 'r shiny dynamic select input' w swojej ulubionej wyszukiwarce. – Andrie
@Andrie i wpisałem to w Google i znalazłem tę stronę – Jeff