我在Shiny上渲染papayaWidget时遇到问题,它只显示一个空白页面,您可以在此链接以及我使用的代码下方找到我的会话:
robertoromo-sessioninfo.txt
代码:
library(kirby21.t1)
library(papayaWidget)
library(neurobase)
outdir = tempdir()
download_t1_data(outdir = outdir)
fname = kirby21.t1::get_t1_filenames(outdir = outdir)
fname = fname[3]
ui <- shinyUI(
fluidPage(
papayaOutput("test")
)
)
server <- function(input, output, session) {
output$test<-renderPapaya({
img = readnii(fname)
print(img)
papaya(img)
})
}
shinyApp(ui, server)
会话信息:
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=Spanish_Mexico.1252 LC_CTYPE=Spanish_Mexico.1252 LC_MONETARY=Spanish_Mexico.1252
[4] LC_NUMERIC=C LC_TIME=Spanish_Mexico.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] shiny_1.2.0 kirby21.t1_1.7.0 neurobase_1.27.6 oro.nifti_0.9.1 papayaWidget_0.5.4
loaded via a namespace (and not attached):
[1] Rcpp_1.0.0 later_0.8.0 git2r_0.24.0 compiler_3.5.2 shinyjs_1.0
[6] R.methodsS3_1.7.1 R.utils_2.8.0 prettyunits_1.0.2 base64enc_0.1-3 bitops_1.0-6
[11] remotes_2.0.2 tools_3.5.2 testthat_2.0.1 digest_0.6.18 pkgbuild_1.0.2
[16] pkgload_1.0.2 jsonlite_1.6 memoise_1.1.0 rlang_0.3.1 RNifti_0.10.0
[21] cli_1.1.0 rstudioapi_0.9.0 curl_3.3 yaml_2.2.0 withr_2.1.2
[26] desc_1.2.0 fs_1.2.6 htmlwidgets_1.3 devtools_2.0.2 DT_0.5.2
[31] rprojroot_1.3-2 glue_1.3.0 R6_2.4.0 processx_3.2.1 sessioninfo_1.1.1
[36] callr_3.1.1 magrittr_1.5 promises_1.0.1 matrixStats_0.54.0 splines_3.5.2
[41] backports_1.1.3 ps_1.3.0 htmltools_0.3.6 usethis_1.4.0 assertthat_0.2.1
[46] abind_1.4-5 xtable_1.8-3 mime_0.6 kirby21.base_1.7.0 httpuv_1.4.5.1
[51] crayon_1.3.4 R.oo_1.22.0
答案 0 :(得分:-1)
好吧,这似乎是您写server()
的方式,这是不正确的。 server()
是函数,因此它可以使用传递给它的参数(此处为input
,output
和session
)。如果要考虑fname
,则应将其传递给参数,例如:
server <- function(input, output, session, fname = fname) {
output$test<-renderPapaya({
img = readnii(fname)
print(img)
papaya(img)
})
}
另一种实现方法是在fname
的第一行中生成server()
,如果不在代码的其他地方使用fname
,我建议这样做。第三种选择可能是考虑到renderPapayaCustom()
的生成而编写函数fname
。