R Shiny - 在调用应用程序之前加载参数和数据

R Shiny - Load parameters and data before calling the app

我有一个结构如下的应用程序:我想在调用应用程序之前加载参数(库、函数)和数据。当我 运行 这个应用程序脚本时它不起作用。所以我目前的解决方案是在控制台中加载行直到 df <- ... 然后在脚本 运行 之后。

TheFileDirectory <- "/.../"

# Libraries and functions
source(paste0(TheFileDirectory, "LibFun script.R"))

# Data
df <- readRDS(file = paste0(TheFileDirectory, "TheData.rds"))

# Call the app
source(paste0(TheFileDirectory, "server.R"))
source(paste0(TheFileDirectory, "ui.R"))

shinyApp(ui = Interface, server = Serveur)

我怎样才能避免这样做?我确信有一个干净的解决方案,但我没有找到它。

这是 LibFun script.R :

library(ggplot2)
library(shiny)
library(shinydashboard)

CountPlotFunction <- function(MyData)

    {
  MyPlot <- ggplot(data = MyData, aes(x = MyData)) +
    geom_bar(stat = "count", aes(fill = MyData)) +
    geom_text(stat = "count", aes(label = ..count..)) +
    scale_x_discrete(drop = FALSE) +
    scale_fill_discrete(drop = FALSE)
  return(MyPlot)
}

这是数据(执行 TheData.rds 的脚本):

var1 <- c("Russia","Canada","Australia","Australia","Russia","Australia","Canada","Germany","Australia","Canada","Canada")
var2 <- c("UnitedStates","France","SouthAfrica","SouthAfrica","UnitedStates","SouthAfrica","France","Norge","SouthAfrica","France","France")
var3 <- c("Brazil","Colombia","China","China","Brazil","China","Colombia","Belgium","China","Colombia","Colombia")
df <- data.frame(var1, var2, var3)

TheData <- saveRDS(df, file = paste0(TheFileDirectory, "TheData.rds"))

检查此 link: https://shiny.rstudio.com/articles/modules.html

部分:打包模块

您似乎有两个文件用于服务器和 ui。所以文件 global.R 会有所帮助,因为它将在服务器和 ui.

之前被调用