Как получить значения из sliderInput и записать их в переменную? - PullRequest
0 голосов
/ 07 июня 2018

Вот часть кода:

ui.r

sidebarPanel(
   sliderInput("days", "Analyzing days", min = 22, max = 132, value = 25)),

server.r

var<-input$days

В результате консоль выдает ошибку:

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.)

и приложение автоматически закрывается.Мне нужно присвоить значение переменной sliderInput , чтобы затем я мог манипулировать ею по-другому. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Не видя остальной код, мы можем только догадываться.Если это единственный код, он явно не сработает;)

Может быть, этот маленький пример может проиллюстрировать вам некоторые основы:

library(shiny)

ui <- fluidPage(
  sliderInput("days", "Analyzing days", min = 22, max = 132, value = 25),
  verbatimTextOutput("slidInp")
)

server <- function(input, output){
  output$slidInp <- renderPrint({
    var <- input$days

    var2 <- c(1:as.numeric(var))

    print(var2)
  })
}

shinyApp(ui, server)
0 голосов
/ 07 июня 2018

Вам нужно назначить переменную внутри чего-то, что может иметь дело с пользователем, меняющим значение, это называется реактивной средой.Вы можете использовать reactive() или что-то вроде observeEvent(), как я сделал здесь, чтобы добиться этого.

server<-function(input,output){

var = NULL

# Turns variable into reactive variable.
makeReactiveBinding("var")

# Make reactive environment and assign variable based on value
observeEvent(input$days, { 
var<<-input$days
})

} #close server

credit: Как отобразить выбранный вход из функции selectInput () в блестящем? @ Scrappy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...