Установите указанные c данные из R DataTable в Shiny с флажками и создайте гистограмму - PullRequest
0 голосов
/ 27 марта 2020

Я создал таблицу данных с DT в Shiny, которая выглядит следующим образом:

enter image description here

Я хотел бы выбрать данные с флажками на стороне панель, которая удовлетворяет определенным атрибутам (например, Mfr = Mitsubi sh, Joint = 1, et c.), а затем обновляет гистограмму град / с в режиме реального времени для просмотра.

Я прочитал материал, который я мог найти в Интернете, но я не могу понять, как это сделать. У кого-нибудь есть намеки?

1 Ответ

1 голос
/ 28 марта 2020

@ guero64 Вот пример, который, как мне кажется, содержит примеры того, что вы ищете. Я надеюсь, что это полезно. Он основан на наборе данных diamonds и имеет несколько фильтров checkbox, которые можно применять к данным.

library(shiny)
library(DT)
library(tidyverse)

ui <- shinyUI(pageWithSidebar(

  headerPanel("Example"),

  sidebarPanel(
    checkboxInput("cb_cut", "Cut (Ideal)", FALSE),
    checkboxInput("cb_color", "Color (I)", FALSE)
  ),

  mainPanel(
    DT::dataTableOutput("data_table"),
    plotOutput("data_plot")
  )
))


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

  filtered_data <- reactive({
    dat <- diamonds
    if (input$cb_cut) { dat <- dat %>% filter(dat$cut %in% "Ideal") }
    if (input$cb_color) { dat <- dat %>% filter(dat$color %in% "I") }
    dat
  })

  output$data_table <- DT::renderDataTable({
    filtered_data()
  })

  output$data_plot <- renderPlot({
    hist(filtered_data()$price, main = "Distribution of Price", ylab = "Price")
  })
})

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