在闪亮的Flexdashboard中进行范围界定

时间:2018-10-03 20:02:52

标签: r shiny flexdashboard

我有一个flexdashboard使用光泽。这是.Rmd中的MRE repogist。当我将应用程序放在Shinyapps.io上时,我意识到一个用户的操作可能会影响其他用户。我知道这是一个范围界定问题,但是我对范围界定在Flexdashboard中的工作方式感到困惑。

This page解释了“常规”闪亮应用的作用域:

  

您可能希望某些对象在所有会话中可见。例如,如果您具有大型数据结构,或者您具有非反应性的实用程序功能(不涉及输入或输出对象的实用程序功能),则可以一次创建这些对象并在所有用户会话中共享它们(在相同的R流程),方法是将它们放在app.R中,但不在服务器函数定义之内。

在Flexdashboard中,没有app.R文件或server函数。范围界定如何在这些类型的闪亮应用程序中起作用?

我有几个类似eventReactive()的函数,它们在用户1命中提交并在文件末尾触发observeEvent(input$submit, {})时为用户2更新。

eventReactive(rv$run2, {

    if (remote==1) {
      master$df <- drop_read_csv("/dash/master.csv", stringsAsFactors = FALSE)

    } else {
      master$df <- read.csv("dash/master.csv", stringsAsFactors = FALSE)
    }

  }, ignoreNULL = TRUE)

我最初posted this to RStudio Community大约9小时前,但它并没有产生很多观点(<20)或任何讨论。

1 个答案:

答案 0 :(得分:0)

rv <- reactiveValues()块中移出global可以解决问题。