我有一个工作的R应用程序,我想使用Shiny在线提供.我的应用程序接收文件作为输入,因此客户端通过ui.R上传文件.server.R接收文件,然后我想调用我的应用程序.但是,当我使用source()时,myApp不知道我在server.R中收到的文件并抛出错误:找不到对象.这是server.R的代码
shinyServer(function(input, output) {
output$contents <- renderTable({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
else{
tdata <- as.matrix(read.table(inFile$datapath))
head(tdata, n = 2)
source("./CODE/run_myApp.r")
}
})
})
Run Code Online (Sandbox Code Playgroud)
但是,myApp不包含tdata
(在我当前的应用程序中需要作为输入文件).
注意:我已经在有光泽的googlegroups和SO中阅读了关于此对象的几乎所有讨论.
我需要一个指示器,显示闪亮的服务器正忙.我曾尝试过闪亮的孵化器,但问题是我无法为进度条设置最大值.我不想要这样的东西:http://shiny.rstudio.com/gallery/progress-example.html 我需要的是:1-显示繁忙的指示器消息和条形图(即只是一个简单的动画条,只要服务器正在计算,就不需要显示填充条 - 无论您正在查看哪个选项卡,都会显示它.(不仅在相关标签中,而且在标签集的顶部)
谢谢
我的闪亮应用程序生成一些用户可以下载的文件.为此,我已将下载按钮放在ui中.但是,当页面启动时,在完成任何计算之前,没有任何内容可供下载.我想阻止用户下载空白页面.
为此,我想在输出准备好之前禁用downloadButton.但我不知道该怎么做.我已经找到了禁用ActionButton的方法(比如ShinyBS包和其他JS代码),但是没有用于downloadButton的方法.
现在,如果输出没有准备好,我使用validate()来抛出错误.但是,当单击downloadButton时,会打开一个新的空网页,其中包含一条很难看的错误信息.
让我知道你的想法.
这是我的ui代码
downloadButton('download', 'Download Lasso component matrix')),
Run Code Online (Sandbox Code Playgroud)
这是我的服务器代码:
output$download_matrix <- downloadHandler(
filename = function() {
validate(
need(is.null(outputData())==FALSE, "No data to download yet")
)
paste('combined_model_matrix', '.txt', sep='') },
content = function(file) {
write.csv(outputData()$combinedAdjMtr, file)
})
Run Code Online (Sandbox Code Playgroud)