如何根据输入显示可变数量的R闪亮的ggplots?

时间:2018-07-13 13:11:04

标签: r ggplot2 shiny

这是我关于StackOverflow的第一个问题。我试图使它尽可能清晰,但我也非常乐意提供反馈!

我正在创建一个具有R Shiny的应用程序,以分析多个样本的二维数据(时间和值)。

我希望应用程序执行以下操作:

  1. 导入示例文件。

  2. 识别上载文件中的样本数量。

  3. 为每个样本创建一个selectInput栏。
  4. 为每个样本创建一个ggplot对象。

非常感谢Pork Chop指出了与this question的相似之处-它解决了我的selectSelect bar多重问题。也感谢camille建议使用purr的map函数,该函数可以帮助我创建没有麻烦的ggplot对象列表。

但是,我仍然在努力让所有ggplot对象显示在Shiny中。我使用this approach来获取灵感,但是作者使用了具有静态长度的for循环。我尝试了他们的方法,只是想看看它是否有效,但这也只给了我地块清单中的第一幅。

这是我当前方法的一个非常基本的例子。也许与map / lapply与renderPlot有关?即map(plot_list,renderPlot({}))吗?

衷心感谢您的帮助和耐心。

编辑:终于在this帖子的大量帮助下解决了我的问题!我没有使用max_plots来创建样本数量的反应值,并且一旦添加了observe({}),便能够使图正确显示。

1 个答案:

答案 0 :(得分:0)

如我所做的编辑中所述,this post非常有用。将实际创建的图包裹在observe({})中并为输入的样本数量创建一个反应性元素至关重要。

Pork Chop对this post的引用通过多个​​动态输入解决了我的问题。