如何在启动时将整个数据帧转换为反应对象?

时间:2019-05-03 00:08:33

标签: r shiny shiny-reactivity

我的闪亮应用程序依赖于一个主要的CSV数据框,用户可以从中选择他们想要提供的图表,地图等变量。我现在希望用户能够通过合并现有变量来创建新变量。

问题:我需要将新变量与所有其他变量一起存储在该主CSV数据框中,并使它们仅可用于会话,其他所有控件/地图/图表。当然,我不能只是将新变量附加到CSV数据帧中,因为它不是反应性对象。

因此,我自然而然地考虑将CSV数据帧在启动时变成反应性对象。

我尝试了

  reactivedf<- reactiveVal()
  reactivedf(df)

但是出于某种原因,这种方法不起作用,从某种意义上说,当应用启动时,所有图表和地图都是空的。

但是,反应式对象确实会通过eventReactive语句“唤醒”,该语句更新了reactddf,地图和图表也变得生动起来:

reactivedf <- eventReactive(input$button, {

<code to create a new variable and append it to reactivedf>

}

如何在启动时完全使reactdf可用?

1 个答案:

答案 0 :(得分:0)

最好至少read the docs一次。

reactivedf <- reactiveValues()
reactivedf$df <- df

最好在应得的信用额上给予信用。您并没有“自然地思考”任何东西,而是通过对您的previous similar question的评论来对此付诸表决。