2017-01-26 4 views
0

変数をserver.Rに格納する方法を変えてみましたが、ui.Rで同じ変数を使用することは大したことはありません。(グローバル宣言は例外です)サーバから変数をui.Rに渡す方法はありますか? R?それが動作する限り、それはハッキーな方法かもしれません。グローバル変数なしで、server.Rからui.Rに変数を渡す方法は?

+0

あなたはui.rで何をしますか? renderUI()を使ってserver.Rの変数に基づいて入力を作成し、それらをui.rに送信しましたか? – BigDataScientist

+0

conditionalPanelの文字列または整数を渡したいので、パネルを表示するかどうかを決めることができます(ボタンをクリックしているかどうかにかかわらず) – tonybrown

+0

ああ。サーバー側で次のように使用できます。output $ serverInfo < - reactive({ TRUE });とui側: 条件付きパネル(条件= "output.serverInfo!= 0") – BigDataScientist

答えて

2

これは、(私のShiny tips 'n tricks listから直接取得)あなたに役に立つかもしれない:

利用UI conditionalPanelでサーバからの変数()

UIでの条件付きパネルを使用して、 conditionは通常、入力値を使用する式です。しかし、入力フィールドに直接関連するとは限らない、より複雑な条件で条件付きパネルを使用する場合はどうなりますか?この例では、UIで使用できるサーバーコードで出力変数を定義する方法を示します。代わりの方法は、shinyjsパッケージのshow()およびhide()関数を使用することです。

library(shiny) 

ui <- fluidPage(
    selectInput("num", "Choose a number", 1:10), 
    conditionalPanel(
    condition = "output.square", 
    "That's a perfect square!" 
) 
) 

server <- function(input, output, session) { 
    output$square <- reactive({ 
    sqrt(as.numeric(input$num)) %% 1 == 0 
    }) 
    outputOptions(output, 'square', suspendWhenHidden = FALSE) 
} 

shinyApp(ui = ui, server = server) 
+0

恐ろしい! 1つの質問は、suspendWhenHidden = FALSEは出力がUIでレンダリングされていなくても実行されることを保証しますか? – tonybrown

関連する問題