Shiny 值[[3L]]中的错误(cond):对象';opcije';找不到
下面的代码正以我希望的方式在脱机会话中工作Shiny 值[[3L]]中的错误(cond):对象';opcije';找不到,shiny,shinyapps,Shiny,Shinyapps,下面的代码正以我希望的方式在脱机会话中工作 opcije <- ls()[sapply(ls(), function(x) class(get(x))) == 'data.frame'] ui <- fluidPage( selectInput("language", "Zadatak 3 - No-", choices = opcije), textOutput("tekstZadatka"),
opcije <- ls()[sapply(ls(), function(x) class(get(x))) == 'data.frame']
ui <- fluidPage(
selectInput("language", "Zadatak 3 - No-", choices = opcije),
textOutput("tekstZadatka"),
tableOutput("tabela")
)
server <- function(input, output, session) {
output$tekstZadatka <- renderText({'some text whatever'})
output$tabela <- renderTable({
dataset <<- get(input$language)
dataset
})
}
shinyApp(ui, server)
opcije已解决。我缺少的部分是数据必须在服务器函数中加载,而不是在app.R中加载。现在,在部署之后,代码就可以正常工作了
server <- function(input, output, session) {
output$tekstZadatka <- renderText({'some text whatever'})
for (n in 1:5){
assign(paste("zadatak_", n, sep =''), read.csv(paste("Zadaci", paste("zadatak_",
n, ".csv", sep =''), sep ='/')))
}
output$tabela <- renderTable({
dataset <- get(input$language)
dataset
})
}
server全局变量需要在app.R文件中定义。添加了opcije tryCatchList->tryCatchOne->Ausführung angehalten
进一步调试使我符合get内部的评估。日志显示get中有一个错误:第一个参数无效。您尝试引用的data.frame必须加载到App.R中。您的环境未在shinyapps.io中发布,只有app.R和加载到app.R中的文件以及位于app.R文件夹(或子文件夹)中的文件才会在app.R顶部发布,它们只是被删除。如果我把它们翻过来,同样的事情也会发生对于(1:5中的n){赋值(粘贴(“zadatak-”,n,sep=”),读取.csv(粘贴(“E:/1.RAST I PRIRAST/0.Nastava/Prezentacije/Vezbe\u Prezentacije/Test”),粘贴(“zadatak-”,n,.csv,.sep=”,sep=“/”)}它必须是带有opcije变量的,似乎命名列表的类型必须作为参数ls()[sapply(ls(),function(x)class(get(x)))给出=='data.frame']不返回列表,但返回char-vec