#r #shiny #shinyjs
#r #блестящий #shinyjs
Вопрос:
Я создаю несколько моделей lm () с использованием dplyr. Я хочу разрешить пользователю изменять значение независимой переменной в блестящем приложении — через 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)
Ответ №1:
Вы должны вызвать useShinyjs() в ui.R.
Это код:
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)