私はShiny reactive UIを実行しようとしています。私はリファクタリングが良いアイデアだと思ったので、(コード行に関して)かなり複雑になってきました。ショートに言えば、これは私のサーバーのコードです:シャイニー対応のUIがサーバーコードを実行していない
require(ggplot2)
require(h2o)
shinyServer(function(input, output, session) {
#stop()
localH2o <<- h2o.init(nthreads = 3) #Global variable
source("BuilderServer.R", local = TRUE)[1]
source("ReviewerServer.R", local = TRUE)[1]
# CleanupFUnctions
session$onSessionEnded(function() {
rm(list=ls())
})
})
私はlocal = TRUE
でsource
を想定した場合だけのようなRファイルの内容をコピー&ペーストしました。したがって、それらはoutput$functionName <- renderUI({code})
という形式の関数を含んでいます。 UIコードは、それらのほとんどは反応性である、これらの機能に依存して、UIのコードは次のようになります。この特定のケースで
shinyUI(navbarPage("Metamodel",
tabPanel("Build Custom Model",
fluidRow(
column(12,align="center",
uiOutput("BuilderUpTitle")
)
),
fluidRow(
column(3,
uiOutput("BuilderAxisSelector")
)
)
)
))
、"BuilderUpTitle"
関数は次のようになります。
output$BuilderUpTitle <- renderUI({
inFile <- input$BuilderInputFile
if(is.null(input$BuilderInputFile)){
fileInput("BuilderInputFile", "Upload a xlsx file")
} else {
#R Stuff done here with the file
textInput("text", label = h3("Model Title"), value = "Enter text...")
}
})
私が書きましたコードが昨日働いていた。今日私は再びコンピュータを起動し、アプリケーションを起動すると、サーバーからの依存関係さえなくなりました.Rがロードされているように見えます(ggplot2とh2o)。 "BuilderUpTitle"
機能からのダウンロードボタンはまったく表示されず、shinyはui.Rコードのみを実行するように見えます。ワークスペースをソースファイルのフォルダに設定しても問題ありません。サーバーからstop()
関数のコメントを外しても、何も変わっていないようです。 RStudioでブレークポイントを設定しても、サーバー内のコードは停止しないので、shinyがサーバー機能を呼び出さないと思うのはこのためです。しかし、以前はコードが動作していましたが、1つのファイルを変更しませんでした。ソースファイルの内容をserver.Rコードにコピーしても、ロードされません。私が行方不明になっていることは明らかですか?前もって感謝します!
無限ループではありません。 ui.r同じ出力バインドオブジェクトへの複数の参照を持つことはできません。 – hedgedandlevered