Хорошо, поэтому я создаю веб-приложение с использованием 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
Как получитьэто так, что текст появляется, когда ген во вторичном списке выбран, но ничего не происходит, когда ген НЕ в этом вторичном списке выбран.