在我工作的项目中,我需要导入一个RData文件。 该文件包含多个data.frame和一个列表。但是我无法显示data.frame。 请问有人有想法吗?
事实上,我需要拥有与之前会话相同的数据,这就是我导入RData文件的原因。
以下是我想要做的一个例子。
在global.R中:
## Package
library(shiny)
## Data Frame
data("iris")
data("mtcars")
data("Orange")
## Data
dfA <- iris
dfB <- mtcars
dfC <- Orange
init_ls <- list("a" = 1, "b" = LETTERS[c(5, 3)])
## Save
save(dfA, dfB, dfC, init_ls, file = "example.RData")
LoadToEnvironment <- function(file, env = new.env()) {
load(file, env)
return(env)
}
在UI.R中:
shinyUI(
fluidPage(
##===================================.
## UPLOAD
##===================================.
sidebarLayout(
##-------------------.
## Side Bar : IMPORTATION
##-------------------.
sidebarPanel(
width = 4,
fileInput(
inputId = "init_file",
label = "Init File (RData)",
accept = c(
"application/RData",
".RData"
)
)
),
##-------------------.
## Main : View Importation
##-------------------.
mainPanel(
tabsetPanel(
id = "tabset_upload",
tabPanel(title = "dfA",
tableOutput("dfA")),
tabPanel(title = "dfB",
tableOutput("dfB")),
tabPanel(title = "dfC",
tableOutput("dfC"))
)
)
##-------------------.
## end sideBar
##-------------------.
)
)
)
在Server.R中:
我尝试了两种方法来导入.RData(ImportInit_1 et ImportInit_2)
shinyServer(function(input, output, session){
##==============================================.
## Import
##==============================================.
ImportInit_1 <- reactive({
## path
path <- input$init_file
if(is.null(path)){
return(NULL)
}else{
env <- new.env()
load(path, envir = env)
return(env)
}
})
ImportInit_2 <- reactive({
## path
path <- input$init_file
if(is.null(path)){
return(NULL)
}else{
env <- reactiveFileReader(1000, session, path, LoadToEnvironment)
return(env)
}
})
##==============================================.
## OUTPUT DATA
##==============================================.
## Output dfTransit using "importTransit()"
output$dfA <- renderTable(ImportInit_1()[["dfA"]])
output$dfB <- renderTable(ImportInit_2()[["dfB"]])
output$dfC <- renderTable(ImportInit_1()[["dfC"]])
})
错误是: ImportInit_1() - &gt; &#34;糟糕的文件&#39;参数&#34; ImportInit_2() - &gt; &#34;文件名参数无效。
==&GT;我不明白为什么没有显示数据,知道我已找到解决方案。
提前感谢任何可以帮助我的人。
CED