条件付きパネルの入力に基づいて出力をレンダリングする際に問題が発生しています。以下は私のコードの修正版を書いたところで、質問には関係のない余分なものはすべて削除しました。conditionalPanel(shiny)の使用時にrenderText出力が正しくない
ui.Rが
library(shiny)
shinyUI(fluidPage(
titlePanel("Art and R"),
sidebarLayout(
sidebarPanel(
selectInput(
"colspa", "Color space", choices = list("A" = "a", "B" = "b"), selected = 1
),
conditionalPanel(
condition = "input.colspa == 'a'", selectInput(
"colchoice", "Color choice", choices = list("ONE" = "one", "TWO" = "two", "THREE" = "three"), selected = 1
)
),
conditionalPanel(
condition = "input.colspa == 'b'", selectInput(
"colchoice", "Color choice", choices = list("FOUR" = "four", "FIVE" = "five", "SIX" = "six"), selected = 1
)
),
actionButton("btn", "Show!")
),
mainPanel(
textOutput("distPlot")
)
)
))
され、server.Rが、私は、このアプリケーションを実行する場合colspa
は「」しかし、すぐに私のようにあるとき、私は正しい結果を得る
library(shiny)
shinyServer(function(input, output) {
str2 <<- ""
str3 <<- ""
getResults1 <- observeEvent(input$btn, {
str2 <<- (paste0(input$colspa))
})
getResults2 <- observeEvent(input$btn, {
str3 <<- (paste0(input$colchoice))
})
calculate <- eventReactive(input$btn, {
str1 <<- paste0(str2, str3)
return(str1)
})
output$distPlot <- renderText({
calculate()
})
})
ですselectInputからcolspa
を "b"に変更します。レンダリングされた出力は、私が望むものではありません。以下はその問題の例です。次の2つの異なる出力に同じIDを使用してはならない
ではなく、条件付きのパネルを使用して、あなただけのサーバー側で 'updateSelectInput()'関数を使うだろうか?私は、あなたが2つの 'selectInputs'が" colchoice "とラベルされていると混乱していると思う。 –
@ジョンウォール前にそれを試しましたが、うまくいきませんでした。上記の場合、どうすれば実装できるのか教えてください。 – Charles