親 (システム) と子 (グループ) の形式の階層データがあります。光沢のあるには、システム用とグループ用の 2 つのラジオ ボタン セットがあります。このように、observe() ステートメントを使用して、グループのラジオ ボタンを、選択したシステムに存在するものだけに更新します。
observe({
r_options <- list()
groups <- unique(fulldata$group[fulldata$system=input$system])
updateRadioButtons(session,"group","Group",choices=groups,selected=paste(groups[1]))
},priority=100)
もともと、server.R ファイルで renderPlot を使用したばかりで、ごく普通の R プロットが生成されました。システムに変更を加えるとError: dims [product 1] do not match the length of object [0]
、グラフの代わりにエラーが一瞬表示され、その後新しいグラフに置き換えられました。
今、私はグラフを ggvis プロットに置き換えようとしているので、renderPlot はリアクティブ (オブジェクト vis に格納されている) に置き換えられ、ggvis プロットと最後の行の構築で最高潮に達します:
vis %>% bind_shiny("mychart")
ここで、アプリケーションがクラッシュし、同じエラー メッセージがコンソールに出力されます。リアクティブがグラフに必要なデータを格納するコードを記述してから、リアクティブ要素 ala の外側で ggvis ブロック全体を呼び出してみました。
fon = reactive({...})
fon %>%
ggvis(~date,~value,stroke=~type) %>%
layer_lines() %>%
bind_shiny("mychart")
これが友好的なメモに対して壮大な失敗をもたらす理由はわかりませんが、私の主な関心は、最後の行の優先度を下げて、監視ステートメントが完了するまで実行されないようにする方法を知ることです? または、入力が反応的に変化したときに ggvis を出力するより良い方法はありますか?