разработка интерактивного приложения с использованием shiny и highcharter

Я пытаюсь создать простое приложение с R, используя shiny, у которого только высокая диаграмма изменяется с заданным параметром через ползунок. Я просмотрел Интернет, но нет четкого руководства или простого примера, чтобы я мог сравнить свой код с ним. Итак, вот мой код:

library(shiny)
library(highcharter)
library(dplyr)

sigene_all = read_csv("res/significant_genes.csv")

ui <- fluidPage(
  titlePanel("Interactive Heatmap"),
  sidebarLayout(
    sidebarPanel(sliderInput(inputId = "slider", label = "Number of Cancers", min = 1, max = 12, value = 9)),
    mainPanel(highchartOutput("heatmap"))
  )
)

server <- function(input, output) {
  output$heatmap <- renderChart({
    hchart(sigene_all %>% filter(count >= input$slider),
           type = "heatmap", hcaes(x = gene, y = cancer_type, value = sgnf), name = "sgnf") %>% 
      hc_add_theme(hc_theme_darkunica())
  })
}

shinyApp(ui = ui, server = server)

и это ошибка, которую я получаю при запуске приложения:

Предупреждение: Ошибка на сервере: не удалось найти функцию «renderChart» 52: сервер [‹..> / CTI / app.R # 23] Ошибка на сервере (...): не удалось найти функцию« renderChart »

Я искал, но не нашел ничего похожего. Буду признателен, если вы поможете мне с этим простым кодом.


person Kimia H.    schedule 04.08.2018    source источник
comment
Мне просто следовало использовать renderHighchart вместо renderChart в серверном коде.   -  person Kimia H.    schedule 04.08.2018


Ответы (1)


Вам нужно использовать функцию renderHighchart() из пакета highcharter для визуализации вашей диаграммы вместо renderChart(). Ваш код должен выглядеть так:

library(shiny)
library(highcharter)
library(dplyr)

sigene_all = read_csv("res/significant_genes.csv")

ui <- fluidPage(
  titlePanel("Interactive Heatmap"),
  sidebarLayout(
    sidebarPanel(sliderInput(inputId = "slider", label = "Number of Cancers", min = 1, max = 12, value = 9)),
    mainPanel(highchartOutput("heatmap"))
  )
)

server <- function(input, output) {
  output$heatmap <- renderHighchart({
    hchart(sigene_all %>% filter(count >= input$slider),
           type = "heatmap", hcaes(x = gene, y = cancer_type, value = sgnf), name = "sgnf") %>% 
      hc_add_theme(hc_theme_darkunica())
  })
}

shinyApp(ui = ui, server = server)
person Ferand Dalatieh    schedule 08.08.2018