0

dplyr を使用して複数の lm() モデルを構築しています。ユーザーが Shiny アプリの独立変数値を、shiny::sliderInput() を介して変更できるようにしたいと考えています。ただし、「適合度」が R^2 がしきい値より大きいと言う場合にのみ行ってください。それ以外の場合は、スライダーを無効にします。Shinyjs::disable() 関数を使用しようとしました。以下を参照してください。ただし、動作させることはできません。私が間違っていることについてのアイデアはありますか?

library(shiny)
library(shinyjs)

# Define UI for application that draws a histogram
ui <- shinyUI(fluidPage(
   sidebarLayout(
      sidebarPanel(
         sliderInput("test","Nice number",min = 1,max = 50,value = 30)
      ),
    mainPanel(
        textOutput("valueText")
      )
   )
))

# Define server to disable slider if value selected

server <- shinyServer(function(input, output) {

  value <- reactive(input$test)
   output$valueText <- renderText(paste(value()))

   #How to diasble slider?
      reactive(if(value()==35){
       shinyjs::disable('test')
     }
   )
   })

# Run the application 
shinyApp(ui = ui, server = server)
4

1 に答える 1

1

ui.R で useShinyjs() を呼び出す必要があります。

これはコードです:

    library(shiny)
    library(shinyjs)

    # Define UI for application that draws a histogram
    ui <- shinyUI(
            tagList(
            useShinyjs(),
            fluidPage(
            sidebarLayout(
                    sidebarPanel(
                            sliderInput("test","Nice number",min = 1,max = 50,value = 30)
                    ),
                    mainPanel(
                            textOutput("valueText")
                    )
            )
    )

    )
    )

    # Define server to disable slider if value selected

    server <- shinyServer(function(input, output) {

            value <- reactive(input$test)
            output$valueText <- renderText(paste(value()))

            #How to diasble slider?
            observeEvent(value(), {
                    if(value()==35){
                            shinyjs::disable('test')
                    }  
            })

    })

    # Run the application 
    shinyApp(ui = ui, server = server)
于 2016-10-21T12:49:01.950 に答える