-1
我生成了一系列我想在Shiny应用程序中生成动态数量的图时循环的图。在服务器功能我有以下结构的观察功能:通过闪亮的反应渲染函数中的列表循环的方法
server = function(input, output, session) {
<Lots of other code>
plotlist = generate_list_of_plots()
for(i in seq_len(length(plot list))) {
plotname = sprintf('ui_plot_%i', i)
output[[plotname]] = renderPlot(plotlist[[i]])
}
<Lots of other code>
}
不幸的是,这并不能作为在列表中最后一个情节重复每个生成其相关plotOutput的对象,我想在一个单独的代码块中。我相信这种行为与这样一个事实有关,即renderPlot表达式不会被调用,直到用户点击一个选项卡并且i
索引变量已被提前到其最终位置并且每次renderPlot函数为静态执行,因此我得到了同样的情节。
1:这是问题的真正原因吗? 2:如果是这样,处理这种情况的正确方法是什么?