簡體   English   中英

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"))

檢查此鏈接: https : //shiny.rstudio.com/articles/modules.html

部分:包裝模塊

您似乎對於服務器和ui有兩個文件。 因此,文件global.R會有所幫助,因為它將在服務器和ui之前調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM