#r #shiny #r-markdown
#r #блестящий #r-markdown
Вопрос:
Я хотел бы создать панель ввода с двумя числовыми вводами (a amp; b). Максимальное значение numericInput b должно соответствовать значению из numericInput a .
---
title: "test input"
runtime: shiny
output: html_document
---
```{r, echo = FALSE}
inputPanel(
numericInput("a", "A", 80,
min = 1, max = 100),
numericInput("b", "B", 15,
min = 1, max = input$a)
)
```
Это приводит к ошибке:
Операция не разрешена без активного реактивного контекста.
Ответ №1:
Без использования shinyApp:
```{r, echo=FALSE}
inputPanel(
numericInput("a", label="A", min = 1, max = 100, value = 80),
uiOutput('a')
)
output$a <- renderUI({
numericInput("b", label= "B", min = 1, max = input$a, value = 15)
}
)
```
Ответ №2:
Привет, ты можешь сделать как в классическом блестящем приложении :
```{r, echo = FALSE}
shinyApp(
ui = fluidPage(
inputPanel(
numericInput("a", "A", 80,
min = 1, max = 100),
uiOutput("numericInput_reactive")
)
),
server = function(input, output) {
output$numericInput_reactive <- renderUI({
numericInput("b", "B", 15,
min = 1, max = input$a)
})
}
)
```