R блестящий: проверить numericInput с помощью логического оператора
В блестящем приложении можно ввести число (numericInput). Метод должен убедиться, что если число равно 1, оно остается равным 1, но во всех других случаях (x!=1) переменная должна быть установлена в 0.
в server.r:
...
checkNumber=reactive({
if(!is.null(input$data)){
output$n_insertNumber<-renderUI({
if(!is.null(input$data)){
numericInput("number", "Number", value = 8)
}
})
x<-input$number
if (x!=1){x==0}
}
})
...
в ui.r:
...
uiOutput("n_insertNumber"),
...
Выход:
Предупреждение: ошибка в: аргумент имеет нулевую длину
Может кто-нибудь помочь мне найти решение? Спасибо!
1 ответ
Решение
В этом примере приложения вы можете ввести число с numericInput
виджет, который затем отправляется на сервер и в реактивной среде выполняется тест. Его результат либо 1
или же 0
и доступен через Variable()
,
library(shiny)
ui <- shinyUI(fluidPage(
titlePanel("Example"),
sidebarLayout(
sidebarPanel(
numericInput("number", "Number", value = 8)
),
mainPanel(
verbatimTextOutput("n_insertNumber")
)
)
))
server <- shinyServer(function(input, output) {
Variable <- reactive({
ifelse(test = input$number == 1, yes = 1, no = 0)
})
output$n_insertNumber <- renderPrint({
Variable()
})
})
shinyApp(ui = ui, server = server)