在R Shiny中,可以使用reactiveValues
函数来创建全局变量,并在会话后修改和读取它们。
首先,使用reactiveValues
函数创建一个包含全局变量的列表。例如,我们创建一个名为global
的全局变量列表:
global <- reactiveValues()
接下来,我们可以使用$
符号来添加和修改全局变量。例如,我们添加一个名为data
的全局变量,并将其初始化为空数据框:
global$data <- data.frame()
要在会话后修改和读取全局变量,我们可以使用observe
和reactive
函数。例如,我们可以使用observe
函数来监听全局变量的修改,并将其保存到本地文件中:
observe({
saveRDS(global$data, "data.rds")
})
然后,我们可以使用reactive
函数来读取保存的全局变量,并在需要时使用它们。例如,我们可以创建一个名为output$plot
的输出,它根据全局变量data
生成一个图表:
output$plot <- renderPlot({
data <- readRDS("data.rds")
# 生成图表的代码
})
在这个例子中,我们使用saveRDS
函数将全局变量data
保存到名为data.rds
的文件中。然后,在renderPlot
函数中,我们使用readRDS
函数读取保存的全局变量,并生成相应的图表。
总结起来,在R Shiny中修改和读取全局变量的步骤如下:
reactiveValues
函数创建一个包含全局变量的列表。$
符号添加和修改全局变量。observe
函数监听全局变量的修改,并在需要时保存到本地文件中。reactive
函数读取保存的全局变量,并在需要时使用它们。这样,我们就可以在会话后修改和读取R Shiny中的全局变量了。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云