R ggplot Отображение текста на графике в ответ на конкретный ввод - PullRequest
0 голосов
/ 13 декабря 2018

Хорошо, поэтому я создаю веб-приложение с использованием R Shiny, которое позволяет пользователям выбирать ген из списка 19000 или около того, а затем просматривать данные и расчеты, связанные с этим геном.До сих пор я получал графики и графики, работающие нормально (с некоторой помощью от пользователей здесь).

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

До сих пор я получал эту работу, используя функцию аннотации в ggplot и помещая значение x в качестве CellType, чтобы аннотация появлялась над этой конкретной ячейкой.,и он хорошо отображает текст, когда выбран ген в этом списке.Ниже приведены некоторые фиктивные данные, а затем урезанная версия кода для построения графика.

    Mean_list <-
      data.frame(Cells = factor(c("Celltype1", "Celltype2", "Celltype3", "Celltype4"), 
                                     levels =c("Celltype1", "Celltype2", "Celltype3", "Celltype4")),
                 Mean = c(mean(c(1, 2, 3)), mean(c(5, 8, 4)), mean(c(9, 8 ,3)), mean(c(3, 6, 8, 5))))


    output$celltype_bar_plot <- renderPlot({
        ggplot() +
  geom_col(data = Mean_list, aes(Cells, Mean, fill = Cells)) +
        annotate("text", x = GeneEnriched[GeneEnriched$X1 %in% input$gene_select, 2] label = "enriched") 
      })

Проблема заключается в том, что в этом списке выбран ген NOT.Если файл GeneEnriched ТОЛЬКО содержит список обогащенных генов, тогда я получаю ошибку при выборе гена, которого нет в списке.Если GeneEnriched содержит все гены, но имеет только имена типов клеток в столбце 2, если ген обогащен, то он вставляет дополнительный столбец и портит порядок графика.Ниже приведены примеры двух типов таблицы GeneEnriched, которые я пробовал:

GeneEnriched Type 1:

      X1          X2 
1   Gene1      Celltype1   
2   Gene3      Celltype3   
3   Gene4      Celltype4   
4   Gene24     Celltype3   
5   Gene52     Celltype1   
6   Gene54     Celltype2 

GeneEnriched type 2:

      X1          X2 
1   Gene1      Celltype1   
2   Gene2        
3   Gene3      Celltype3   
4   Gene4      Celltype4   
5   Gene5       
6   Gene6     

Как получитьэто так, что текст появляется, когда ген во вторичном списке выбран, но ничего не происходит, когда ген НЕ в этом вторичном списке выбран.

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