Я работаю над простым линейным графиком в r.на данный момент я могу использовать два selectizeInputs в части пользовательского интерфейса, чтобы выбрать сезон и команду, каждый selectizeInput имеет идентификатор, который используется в серверной части в операторе select, в любом случае я хочу настроить код, чтобы я мог выбирать несколько сезонови несколько команд, и когда это произойдет, я хочу построить несколько линий на графике для каждой команды и сезона.У меня вопрос, что я должен изменить в части пользовательского интерфейса и что я должен изменить в серверной части?Большое спасибо за любую помощь!
это часть пользовательского интерфейса
libraries("plotly","ggplot2","plotrix")
ui <- fluidPage(
fluidRow(
column ( width = 3,
h4(span(tagList(icon("filter")), "Select season")),
selectizeInput('season', "", choices = shots$SeasonNr, selected = TRUE, multiple = TRUE),
br(),
h4(span(tagList(icon("filter")), "Select team")),
selectizeInput('team', "", choices = shots$TeamName, selected = TRUE, multiple = TRUE),
br()
)),
plotlyOutput("pos1")
)
это моя часть сервера
server <- function(input,output, session){
observeEvent(c(input$team), {
team1 <- input$team
Season1 <- input$season
tp <- sqldf(sprintf("select TeamName, Training_ID, SeasonNr, Position, ShotAverage from shots where TeamName is '%s'", team1,"AND SeasonNr is '%s'", Season1))
dfNew<- aggregate(ShotAverage ~ tp$TeamName +tp$Position, data=tp, FUN=mean)
#creates empty dataframe
dfF <- data.frame()
#bind
dfF <- rbind(dfF, dfNew)
colnames(dfF) <- c("Team Name", "Position", "Average")
# render the plot
output$pos1 <-renderPlotly({
plot_ly(x = ~dfF$Position, y = ~dfF$Average, type = 'scatter', mode = 'bar')%>%
layout(title = 'Seasonal team statistics', xaxis = list(title = "Position"),yaxis = list(title = "Average"))
})
})}
shinyApp(ui, server)