#r #shiny
Вопрос:
Я был супер новичком в R и изучал разные кнопки. Я пришел понаблюдать за событием и попытался его использовать, но оно не выводит мои выходные данные. Может кто-нибудь, пожалуйста, помочь!
library(shiny)
ui <- fluidPage(
sliderInput(inputId = "num",
label = "Choose a number",
value = 25, min = 1, max = 100),
actionButton(inputId = "go", label = "Print Value")
)
server <- function(input, output) {
observeEvent(input$go,{as.numeric(input$num)})
}
shinyApp(ui = ui, server = server)
Примечание: Функция является частью библиотеки shiny
Комментарии:
1. Привет. Эта функция, похоже, не является частью
base
R. Не могли бы вы сообщить мне, откуда она (т. Е. Из какого пакета)? Спасибо.2. «блестящая» библиотека. моя ошибка, я обновлю свой вопрос
3. ОК. Я не использую Shiny, поэтому оставлю этот вопрос для ответа кому-нибудь другому. Я бы предложил добавить «блестящий» в качестве тега, чтобы привлечь сюда нужного человека. Всего наилучшего.
4. Попробуй
print(input$num)
внутри своегоobserveEvent
.observeEvent
это функция, и, как и любая функция, вам нужно распечатать, чтобы увидеть вывод «изнутри» функции. Кроме того, asliderInput
возвращает числовые значения, так что вам это не нужноas.numeric
.
Ответ №1:
Если вы хотите распечатать на консоли, вам нужно будет позвонить print
. Если вы предпочитаете печатать в пользовательском интерфейсе, вы можете сделать это с помощью reactiveVal
:
library(shiny)
ui <- fluidPage(
sliderInput(inputId = "num",
label = "Choose a number",
value = 25, min = 1, max = 100),
actionButton(inputId = "go", label = "Print Value"),
textOutput("myText")
)
server <- function(input, output) {
printData <- reactiveVal()
observeEvent(input$go,{
print(input$num) # print to console
printData(input$num) # pass data to reactiveVal
})
output$myText <- renderText(printData())
}
shinyApp(ui = ui, server = server)