2016-09-06 5 views
0

私は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 = TRUEsourceを想定した場合だけのような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コードにコピーしても、ロードされません。私が行方不明になっていることは明らかですか?前もって感謝します!

答えて

0

もう一度、私は自分自身が問題を見つけました。私が言ったことのどれも、何が間違っていたかを誰にも見出させないでしょう。

ui.R

shinyUI(fluidPage(
    fluidRow(
    uiOutput("itWillLock"), 
    uiOutput("itWillLock") 
) 
)) 

server.R

shinyServer(function(input, output) { 
    output$itWillLock <- renderUI({ 
    sliderInput("slider","Slider",min=0,max=1,value=0) 
    }) 
}) 

私はRが無限ループに陥ってサーバに到達したことがないと思います。ここでは、問題を再現する最も小さい可能なコードです。 Rファイル。これは私が報告すべきバグですか?それとも常識だけでこの問題から人々を守ることができます。ありがとうございました!

+0

無限ループではありません。 ui.r同じ出力バインドオブジェクトへの複数の参照を持つことはできません。 – hedgedandlevered

関連する問題