在ShinyApp中只加载一次Rdata文件,可以通过以下步骤实现:
reactiveValues
函数创建一个包含数据的列表。server <- function(input, output) {
# 创建一个全局变量来存储数据
data <- reactiveValues(mydata = NULL)
# 定义一个函数来加载Rdata文件
load_data <- function() {
data$mydata <- readRDS("your_data.Rdata")
}
# 在ShinyApp启动时加载数据
shiny::observeEvent(shiny::session$input$start, {
load_data()
})
# 使用加载的数据进行后续操作
# ...
}
在上述代码中,data$mydata
是一个全局变量,用于存储加载的数据。load_data
函数用于加载Rdata文件并将数据存储到全局变量中。shiny::observeEvent
函数用于在ShinyApp启动时调用load_data
函数加载数据。
data$mydata
来访问加载的数据。output$plot <- renderPlot({
# 使用加载的数据进行绘图
plot(data$mydata)
})
在上述代码中,data$mydata
即为加载的数据,可以在renderPlot
函数中使用。
这样,每次启动ShinyApp时,Rdata文件只会被加载一次,并且可以在整个应用程序中共享和使用加载的数据。
领取专属 10元无门槛券
手把手带您无忧上云