таблица вывода на основе фрейма данных из события наблюдения - PullRequest
0 голосов
/ 18 октября 2018

Я хочу сделать блестящее приложение, которое показывает таблицу, отфильтрованную по выбору пользователя.

вот процедура, я думал, будет работать:

library(shiny)
library(rhandsontable)
library(ggplot2)

ui <- fluidPage(

  mainPanel(

    radioButtons('option','class',choices = c('suv','compact') ),

    tableOutput('table')

  )

)

server <- shinyServer(function(input, output) {

observeEvent(input$w, {

 ifelse(input$option =='compact',

         sp.1. <- subset(mpg, class='compact'),

          ifelse(input$option =='suv',

            sp.1 <- subset(mpg, class='compact'),

              sp.1 <- mpg)

         )

  })

  output$table <- renderTable({(sp.1)}) 
  })

shinyApp(ui, server)

но это не похожена работу, есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 18 октября 2018

observeEvent() не возвращает никаких объектов и действует как изолированная среда, поэтому вы не получаете sp.1.Думайте о observeEvent как о функции, которая не допускает возвращаемый аргумент.Чтобы противостоять этому, просто поместите output$table в среду observeEvent, чтобы он мог получить доступ к sp.1.

Примечание. Я не знаю, что такое input$w, но я протестировал с кнопкой действия, помеченной«w» для запуска наблюдаемого события.

server <- shinyServer(function(input, output) {

  observeEvent(input$w, {

     ifelse(input$option =='compact',

       sp.1. <- subset(mpg, class='compact'),

       ifelse(input$option =='suv',

              sp.1 <- subset(mpg, class='compact'),

              sp.1 <- mpg)

    )

    output$table <- renderTable({(sp.1)}) 
  })

  })



shinyApp(ui, server)

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

...