1
我正在構建一個閃亮的應用程序,並且我需要重建每次應用程序打開時(由於json文件將更改)解析json文件的數據框。然後,應用程序中的功能將需要訪問此數據框。將代碼放在server.R的前面並不實際創建數據框。另一種方法是創建一個創建數據框的函數,並在每次需要數據框時調用該函數,但每次需要時都會重新創建數據框。R Shiny - 在應用程序開始時創建全局數據框
有沒有辦法一次創建數據框,並將其保存在一個變量名中,在需要時可以由應用程序其餘部分的函數訪問?
現在我的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)
})
}
太棒了!謝謝 – md1630