私は光沢のあるサーバーを使って私のサーバーに1つの光沢のあるアプリケーションを配備しました。サンプルの例を以下に示します。すべてのパッケージがロードされるまでメッセージを表示
をui.R
#library(shinyjs)
library(shiny)
#filenames <- list.files(path = "data",pattern="\\.csv$")
#names(filenames) <- gsub(pattern = "\\.csv$", "", filenames)
shinyUI(fluidPage(
titlePanel(
headerPanel(
h3("Testing....",
align="center", style="bold")
)
),
br(),
br(),
#useShinyjs(), ## initialize shinyjs to reset input files.
sidebarLayout(
sidebarPanel(
h5("Upload Data Files",style="bold"),
fileInput("files",
"Choose CSV/txt processed files or raw files",
multiple = "TRUE",
accept=c('text/csv',
'text/comma-separated-values,
text/plain', '.csv','.cel','.TXT','.txt')),
#selectInput('dataset',"Choose platform annotation file", c("Please select a file" ='',filenames)),
fluidRow(
column(5,
radioButtons("radio", label = h5("Data uploaded"),
choices = list("Affymetrix" = 1, "Codelink" = 2,
"Illumina" = 3),selected = NULL)
)
),
fluidRow(
column(10,
h5("Differential Expression Call", style = "bold"),
checkboxInput("checkbox",
label = "Differential Expression", value = FALSE))),
br(),
uiOutput('AnnotationFile')),
mainPanel(
tabsetPanel(id = "MamgedTabs",
tabPanel("Source-data", dataTableOutput("sourced")),
tabPanel("Annotation-data",dataTableOutput("annotation"))
)
)
)
)
)
server.R
#library(gcrma)
#library(hgu133a.db)
#library(hgu133acdf)
#library(hgu133plus2.db)
#library(hgu133plus2cdf)
#library(hgu133a2frmavecs)
#library(hgu133b.db)
#library(hgu133bcdf)
#library(hgu219.db)
#library(hgu219cdf)
#library(hgu95a.db)
#library(hgu95acdf)
#library(org.Hs.eg.db)
#library(hgu133a2.db)
#library(hgu133a2cdf)
#library(hgu95av2.db)
#library(hgu95av2cdf)
#library(hgu133plus2cdf)
#library(affyPLM)
##library(makecdfenv)
#library(parallel)
#library(base)
#library(S4Vectors)
#library(IRanges)
#library(stats4)
#library(BiocInstaller)
#library(Biobase)
#library(BiocGenerics)
#library(BiocParallel)
#library(biomaRt)
#library(Biostrings)
#library(preprocessCore)
#library(affyio)
#library(zlibbioc)
#library(graphics)
#library(grDevices)
#library(methods)
#library(genefilter)
#library(stats)
#library(AnnotationDbi)
#library(utils)
## Defining the size of file to be accepted. Here it can accept any size.
options(shiny.maxRequestSize= -1)
shinyServer(function(input, output,session) {
filenames <- list.files(path = "data", pattern="\\.txt$")
names(filenames) <- gsub(pattern = "\\.txt$", "", filenames)
## Dropdown box for chosing and loading annotation file
output$AnnotationFile = renderUI({
if(!input$checkbox | (input$checkbox == T && input$radio != 2)){
wellPanel(
h5("Upload Annotation File"),
selectInput('dataset', "Choose platform annotation file",
c("Please select a file" = '', filenames), multiple = TRUE))
}
})
})
あなたがserver.R
で見たように、私は、ロードするために多くのパッケージが必要それには時間がかかる。コード
output$AnnotationFile = renderUI({
if(!input$checkbox | (input$checkbox == T && input$radio != 2)){
wellPanel(
h5("Upload Annotation File"),
selectInput('dataset', "Choose platform annotation file",
c("Please select a file" = '', filenames), multiple = TRUE))
}
})
下記非表示に何かある示すことである、なぜならそれは、パッケージをロードするのに要する時間を、表示されるまでしばらく時間がかかりますが、時にはそれがまったく表示されません。
1)私のアプリケーションはローカルで正常に動作しますが、サーバにデプロイするとこの動作を示します。何らかの理由?
2)すべてのパッケージを読み込むまで、アプリケーションが準備しているというメッセージをメインパネルに表示するにはどうすればよいですか。
編集:私はshinyServer()内のメッセージを表示することができますが、それは(何度も繰り返して、すべてのパッケージをロードします)、しかし、私が表示され、開始時にすべてのパッケージをロードする各セッションのためであります応用。言い換えれば、shinyServer()の外側で進行メッセージを表示する方法を教えてください。
'renderPrint'はあなたとその内部であなたのメッセージを表示する' print'メソッドを使うのに便利です。 –
'shinysky'パッケージから' busyIndicator'を使うことができます。詳細については、このリンクに従ってください。(https://github.com/AnalytixWare/ShinySky) – SBista