私はShinyを使い慣れていませんが、UIとshinyServerの間で多くのやりとりが必要なアプリケーションに取り組んでいます。これを行うために、私は動的なrenderUI関数に慣れてきました。しかし、私はrenderUI関数を通してUIに送られる入力を正しく扱ういくつかの問題を抱えています。RのrenderUIからの入力にアクセスする際に問題が発生Shiny
私は問題のクイックおもちゃの例をコーディングしました。
library(shiny)
ui <- fluidPage(
numericInput("cat.count", "How many cats do you have?", min = 0, value = 0),
checkboxInput('pet.check',"Do you other pets?", value = FALSE),
uiOutput("dog.input"),
uiOutput("dog.num")
)
server <- shinyServer(function(input,output){
output$dog.input <- renderUI({
if(input$pet.check){
return(checkboxInput("dog.check", "Do you have dogs?", value = FALSE))
}
})
output$dog.num <- renderUI({
if (exists("input$dog.check") & input&dog.check){
return(numericInput("dog.count", "How many dogs do you have?", min = 1,
value = 0))
}
})
})
shinyApp(ui = ui,server = server)
このおもちゃのアプリがエラーなしで実行すると、「最終製品」は、ユーザが所有するペットの合計数を示すggplot2グラフィックとgeom_barを経由して、単純な棒グラフになります。
私はreq()関数とexists()関数に加えてreactive関数もたくさん調べてきましたが、これまではサークルで実行していました。
ありがとうございます!
正確には私が心に留めていたものではありませんでしたが、あなたのコードは非常に助けになりました。ありがとう、ポークチョップと@グレゴール – kfurlong