Json R Shining-在应用程序开始时创建全局数据框

Json R Shining-在应用程序开始时创建全局数据框,json,r,shiny,Json,R,Shiny,我正在构建一个闪亮的应用程序,我需要重建一个数据框架,在每次应用程序打开时解析json文件(因为json文件会改变)。然后,应用程序中的功能将需要访问此数据帧。将代码放在server.R前面实际上并不会创建数据帧。另一种方法是创建一个创建数据帧的函数,并在每次需要数据帧时调用该函数,但这将在每次需要时重新创建数据帧 是否有一种方法可以一次性创建数据帧,并将其保存在变量名中,以便在需要时由应用程序其余部分的函数访问 现在,我在server.R中的代码遵循下面的结构。但是,这里永远不会调用填充myD

我正在构建一个闪亮的应用程序,我需要重建一个数据框架,在每次应用程序打开时解析json文件(因为json文件会改变)。然后,应用程序中的功能将需要访问此数据帧。将代码放在server.R前面实际上并不会创建数据帧。另一种方法是创建一个创建数据帧的函数,并在每次需要数据帧时调用该函数,但这将在每次需要时重新创建数据帧

是否有一种方法可以一次性创建数据帧,并将其保存在变量名中,以便在需要时由应用程序其余部分的函数访问

现在,我在server.R中的代码遵循下面的结构。但是,这里永远不会调用填充myDF的for循环。另一方面,我不想把它放在每次需要myDF时都会调用的函数中,每次都会重新创建它。我只想在应用程序开始时创建myDF,并将其保存为myDF,以便我可以使用它

json_file <- "file.json"
json_data <- fromJSON(json_file)
myDF <- as.data.frame(ncol = ..., nrow = ...) #creates an empty data frame myDF

for (b in field_names) {
    #code that fills in myDF
}

myFunc <- function(inputs) {
    #a function that uses myDF
}

shinyServer(function(input, output, session) {

  output$out1 <-renderText({
      myFunc(input$inputs)
  })
}

json\u文件将以下内容放入应用程序目录中名为
global.R
的文件中(与
server.R
ui.R
相同),它将在应用程序初始化时运行一次

json_file <- "file.json"
json_data <- fromJSON(json_file)
myDF <- as.data.frame(ncol = ..., nrow = ...) #creates an empty data frame myDF

for (b in field_names) {
    #code that fills in myDF
}

json\u文件当从rmarkdown文件生成文件时,是否有方法使用
global.R
?没有
ui.R
server.R
,只有一个文件.Rmd,其yaml头用于定义闪亮(
runtime:shinny\u prerendered
)。我在同一剧目中有一个
global.R
,但它不起作用。我的目标是在启动Shining时加载一个数据帧。@demarsylvain只需将
myDF放入
df@demarsylvain您正在缓存该代码块吗?如果是,请删除缓存