のように、レンダリングのレンダリングにdo.call
を使用したいと思います。コードの下には動作しません:シャイニー:レンダリングファミリーファンクションを実行するためにdo.callを使用する
rm(list=ls())
library(shiny)
ui <- fluidPage(
selectInput("select", label = h3("Select box"),
choices = list("Choice 1" = 1, "Choice 2" = 2, "Choice 3" = 3),
selected = 1),
hr(),
fluidRow(column(3, verbatimTextOutput("value")))
)
server <- function(input, output, session) {
output$value <- do.call("renderPrint", list({ input$select }))
}
shinyApp(ui, server)
エラー:
Warning: Error in .getReactiveEnvironment()$currentContext: Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)
Stack trace (innermost first):
45: .getReactiveEnvironment()$currentContext
44: .subset2(x, "impl")$get
43: $.reactivevalues
[...]
をこれを達成するためにどのように?私はこれが何らかの形で環境と怠惰な評価と結びついていると推測しているので、閉鎖は解決策かもしれませんが、これはただの推測です...
私は 'observe({output $ value < - do.call(" renderPrint "、list({input $ select})}})が問題を解決すると思われます。 – Benjamin