我正在尝试做一些与此处解释的非常类似的事情 dynamically add plots to web page using shiny
但是我需要对renderPlot(server.r:第28行)中的plot函数进行等效调用才能被动,只有在输入改变时才能调用。在我的设置中,我有一个列表,其中包含我需要调用的函数名称。
我提供了一个我想要的示例代码和尝试使用反应回调。
for (i in 1:length(plot_list)) {
local({
my_i <- i
plotname <- paste("plot_fn_name", my_i, sep="")
output[[plotname]] <- renderPlot({
args <- list(input$arg1, input$arg2, input$arg3)
fn <- reactive({plot_list[[my_i]](args)})
#p <- do.call(fn, args)
p <- fn()
print(p)
})
})
}
有关如何实现这一目标的任何想法? 感谢。