Я хочу вызвать функцию fziim (определенную ранее), аргументы которой зависят от значений двух виджетов, определенных в пользовательском интерфейсе. Функция возвращает список с несколькими графиками, которые я хочу отобразить.
Я пробую следующий код, но не могу заставить его работать должным образом, так как элементы списка кажутся недоступными
Первый пользовательский интерфейс
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
fluidRow(
column(9,
selectInput("sector", h4("Sector"),
choices = list("S1","S1")
, selected = 1))# need to insrt instead list with sector names
),
fluidRow(
column(9,
numericInput("num1",
h4("Investment value (million $)"),
value = "100"))
)
),
mainPanel(
tabsetPanel(
tabPanel("Trade Balance",
fluidRow(
plotOutput("graph_trade")
)
),
tabPanel("Imports",
fluidRow(
plotOutput("graph_imports")
)
),
tabPanel("Exports",
fluidRow(
plotOutput("graph_exports")
)
),
tabPanel("Supply chain",
fluidRow(
plotOutput("graph_supply_chain")
)
),
tabPanel("Taxes",
fluidRow(
plotOutput("graph_all_taxes")
)
),
tabPanel("Employment",
fluidRow(
plotOutput("graph_employment"),
)
)
)
)
)
)
А сервер выглядит следующим образом:
server <- function(input, output) {
impacts_update<-fziim(sector =input$sector,investment =input$num1 )
output$graph_all_taxes<-renderPlot({
impacts_update$graph_all_taxes
})
output$graph_employment<-renderPlot({
impacts_update$graph_employment
})
output$graph_trade<-renderPlot({
impacts_update$graph_trade_balance
})
output$graph_imports<-renderPlot({
impacts_update$graph_imports_blockade
})
output$graph_exports<-renderPlot({
impacts_update$graph_exports_blockade
})
output$graph_supply_chain<-renderPlot({
impacts_update$graph_domestic
})
}
Где выглядит fziim:
fziim<-function(sector, investment){
g1<-plot1
g2<-plot2
g3<-plot3
g4<-plot4
g5<-plot5
g6<-plot6
output<-list(g1,g2,g3,g4,g5,g6)
return(output)
}