ホーム>source

2つの入力を持ち、2つの異なる変数に入力を保存し、これらの入力変数を使用してコードを実行するスクリプトをshinyで作成しようとしていますが、.getReactiveEnvironment()$currentContext()のエラーが表示されます:   アクティブなリアクティブコンテキストなしでは操作は許可されません。 (リアクティブな式またはオブザーバーの内部からしかできないことをしようとしました。) 以下は私のUIコードです:

ui <- fluidPage(
  titlePanel("Network Model"),
  sidebarLayout(
    sidebarPanel(
      selectInput(inputId = "origin",
                  label = "Origin:",
                  choices = milk_runs$Origin),
      selectInput(inputId = "destination",
                  label = "Destination:",
                  choices = milk_runs$Dest),
      actionButton("go", "") 
    ),

    mainPanel(
      tableOutput(
        "view"))
  )
)

サーバーコード:

server<- function(input, output){
  origin <- input$origin
  destination <- input$destination
  observeEvent(input$go,source("nr9.R")) 
               output$summary <- renderPrint({
                 #dataset <- datasetInput()
                 summary(Tnetwork)
               })

正しい結果を得る方法を教えてください。

あなたの答え
  • 解決した方法 # 1

    input$origin を実行しようとしているためにエラーが発生していると思います(完全に再現可能な例を提供すると役立ちます)   reactive() なし 。 input $originは、 reactive 内に配置しない限り、ユーザー入力に基づいて無効化および更新されません。 。あなたが提供した例に基づいて:

    library(shiny)
    ui <- fluidPage(
      titlePanel("Network Model"),
      sidebarLayout(
        sidebarPanel(
          selectInput(inputId = "origin", label = "Origin:", choices = c("A","B","C","D","E","F")),
          selectInput(inputId = "destination", label = "Destination:", choices = c("A","B","C","D","E","F")),
          actionButton("go", "GO")
          ),
        mainPanel( tableOutput( "view"))
        ) 
      ) 
    server<- function(input, output){
      origin <- reactive(input$origin)
      destination<-reactive(input$destination)
      observeEvent(input$go,{
                   cat(origin(),'nextword',destination(),sep="-")
      })
      output$view <- renderTable({data.frame(origin=origin(),destination=destination())})
    }
    
    
    shinyApp(ui, server)
    
    

    「go」がアクティブになったときに「origin-nextword-destination」をコンソールに出力し、テーブルを更新する必要があります。再現性はありませんでしたが、うまくいけば役立つので、あなたの例のいくつかを変更しました。

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ javascript - そのまま使用する場合と-1と比較する場合のindexOfの動作が異なるのはなぜですか?