Некоторое время я пытаюсь использовать ggplot2 для создания специфической c штриховой диаграммы. Для интересующего гена я хочу показать количество генов в двух моих образцах. По оси X должны быть показаны образцы, по оси Y - среднее значение подсчетов, на ней должны быть полосы ошибок и показан результат независимого t-теста, проверяющего значительную разницу между обоими образцами.
Это для гистограмма, показывающая средние значения и планки ошибок:
genecounts <- data.frame(
sample = c("control", "control", "condition", "condition"),
counts = c(7.9, 4.2, 5.2, 7.7)
)
genecounts2 <- genecounts %>%
group_by(sample) %>%
summarise(mean = mean(counts), sd = sd(counts))
barplot <- ggplot(genecounts2) +
geom_bar(
aes(x = sample, y = mean),
stat = "identity"
) +
geom_errorbar(
aes(x = sample, ymax = mean + sd, ymin = mean - sd),
width = 0.25
) +
labs(y = "mean normalized counts", x = "gene name")
Как добавить метки значимости? Я пробовал использовать ggpubr или ggsignif. Все решения, которые я нашел до сих пор, используют в качестве основы таблицы данных, в которых вы можете найти подсчеты для всех образцов. Но я хочу сделать это на гистограмме, которая показывает только среднее значение всех выборок. Идеи приветствуются!
Что я подумал:
library("ggpubr")
paircomparison <- list(c("control", "condition"))
barplot + stat_compare_means(comparisons = paircomparison)
# OR
barplot + stat_compare_means(data = genecounts, aes(x = sample, y = counts), comparisons = paircomparison)
Error in f(...) :
Can only handle data with groups that are plotted on the x-axis
Это могло как-то выглядеть примерно так:
ссылка на сайт