2016-09-02 6 views
1

レイアウト上の理由から、私はフォームサーバーをuiに単一の番号(プロット数など)を送信しようとします。さらに、この数値を使用してボックスの幅を定義したいと考えています。Shiny in R:サーバーからuiに番号を送信するにはどうしたらいいですか?

これは可能ですか?そしてもし、どのように?ご助力ありがとうございます。

+0

これがあなたに役立つかどうかわかりませんが、あなたはそれを撃つことができます:https://github.com/daattali/advanced-shiny/tree/master/server-to-ui-variable –

+1

また、 ?renderUI' – Raad

+0

JavaScriptの方法があります。https://ryouready.wordpress.com/2013/11/20/sending-data-from-client-to-server-and-back-using-shiny/ –

答えて

1

私は私が正しい理解すれば、あなたは次のことを達成したいと思います:UIの

  1. 入力フィールドには、サーバーに値を送信します。結果の値を生成し、
  2. Serverプロセス
  3. ステップ2から生成された値は、あなたが何かを行うことができます。1.

ステップとして別の入力フィールドの一部またはおそらく同じ入力フィールドになるために戻ってサーバーでは、このような:、ここで私が選択入力の例を使用してきましたこれは、単純に計算すると、フィールド2を取り込むためにフィールド1の値を使用されてい

shinyServer(func = function(input, output, session) { 
    field1_options <- reactive({ 
     if (!is.null(input$field1)) { 
      method1(input$field1) 
     } else { 
      method2(input$field1) 
     } 
    }) 

    observe({ 
     updateSelectInput(
     session, 
     inputId = "field2", 
     choices=field1_options()) 
    }) 
} 

+0

@ sigmabetaを使用することです。ご回答どうもありがとうございました。これは非常に有望ですね。方法1と2ではどういう意味ですか?どのようにUi側のように見えるだろうか?私はこれが更新される単純なselectInputであると仮定します。 –

+1

はい、選択入力です。 Method1と2は、select入力値の使い方と表示対象を定義するカスタム関数です。たとえば、csvファイルから値を読み取り、その後method2の他のデータフレームから取得する場合 – sigmabeta

関連する問題