同じ反応性のあるテキスト出力をR Shinyアプリケーションの複数の場所に表示したい。ここでは(単一Rマークダウン文書に)簡単な例です:Shinyの反応出力を繰り返す
---
output: html_document
runtime: shiny
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo=FALSE)
```
```{r}
output$text1 <- renderText({
paste("Selected letter:", input$var)
})
fluidPage(
fluidRow(
selectInput("var", label="Choose a letter", choices=letters[1:4], selected="b")
),
fluidRow(
textOutput("text1")
),
fluidRow(
textOutput("text1")
)
)
```
私は最初のテキスト選択された文字を示すアプリで途中fluidRow(textOutput("text1")),
を削除した場合、このコードは正常に動作します:と反応性の入力をb 1回。しかし、私がそのコードを残しておけば、同じテキストを2度表示することはできません。代わりに、最初のテキストが表示されます選択された文字:一度だけ、反応入力はbです。
完全性のために、回避策を提供するサンプルコード(2番目のチャンク)を追加します。
n <- 2
for(i in seq(n)) {
output[[paste0("text",i)]] <- renderText(paste("Selected letter:", input$var))
}
fluidPage(
fluidRow(
selectInput("var", label = "Choose a letter",
choices = letters[1:4], selected = "b")
),
fluidRow(
textOutput("text1")
),
fluidRow(
textOutput("text2")
)
)
同じIDを持つ2つの出力を持つことはできません。 –
その情報をありがとう。あなたが答えとしてそれを提供すれば、私はそれを受け入れます。それが明示的に述べられている場所を指すことができますか? –