Объединить stat_compare_means с фасетом в r: вычисляет значение p только для 1 фасета
Я пытаюсь построить свои данные, используя этот код R:
print(ggplot(data = my_data3, aes(x = Visit, y = Variable1, group = number)) +
geom_point(aes(col=Treatment), size = 2) +
geom_line(aes(col=Treatment)) +
facet_grid(. ~ Treatment) +
ggtitle("Variable1")+
theme_bw() +
stat_compare_means(comparisons = list(c("visit 1", "visit 2")), label = "p.format", method = "wilcox.test", paired=T, tip.length = 0))
Моя переменная3 содержит 2 переменные, которые отображаются в виде 2 графиков, когда я использую функцию facet_grid. Тем не менее, значение p показано только для одного из графиков. Как я могу получить значение р для обоих графиков? График, показывающий значение p для 1 фасета
Это часть набора данных:
my_data3 <- structure(list(number = c(110002, 110002, 110003, 110003, 110004,
110004, 110005, 110005, 110006, 110006, 110007, 110007, 110008,
110008, 110009, 110009, 110010, 110010, 110011, 110011, 110012,
110012, 110013, 110013, 110014, 110014, 110016, 110016, 110017,
110017), Treatment = c("Treatment1", "Treatment1", "Treatment2",
"Treatment2", "Treatment2", "Treatment2", "Treatment2", "Treatment2",
"Treatment1", "Treatment1", "Treatment1", "Treatment1", "Treatment2",
"Treatment2", "Treatment2", "Treatment2", "Treatment1", "Treatment1",
"Treatment2", "Treatment2", "Treatment1", "Treatment1", "Treatment2",
"Treatment2", "Treatment2", "Treatment2", "Treatment1", "Treatment1",
"Treatment2", "Treatment2"), Visit = c("visit 1", "visit 2",
"visit 1", "visit 2", "visit 1", "visit 2", "visit 1", "visit 2",
"visit 1", "visit 2", "visit 1", "visit 2", "visit 1", "visit 2",
"visit 1", "visit 2", "visit 1", "visit 2", "visit 1", "visit 2",
"visit 1", "visit 2", "visit 1", "visit 2", "visit 1", "visit 2",
"visit 1", "visit 2", "visit 1", "visit 2"), Variable1 = c(5618,
4480.5, 1034.75, 706.75, 11492.5, 6037.5, 3841.5, 2762.75, 306,
138.5, 259.5, 0, 31.5, 911.75, 1909.5, 1352.75, 1957.75, 2383.25,
23538.25, 8595.5, 13360.5, 10337.5, 1696.5, 805.25, 14655, 6169,
10141, 5922.25, 2164.25, 14990.25)), .Names = c("number", "Treatment",
"Visit", "Variable1"), row.names = c(NA, 30L), class = "data.frame")
0 ответов
Сегодня я столкнулся с похожей проблемой, поэтому оставлю ответ здесь на случай, если он понадобится кому-то еще в будущем:
Кажется, что stat_compare_means
проблемы, когда вы включаете группирующую переменную в общую эстетику графика (используя группу, цвет, заливку и т. д.), поэтому вы должны переместить их в эстетику конкретной функции, где вы хотите их использовать.
Для вашего кода мне нужно было только переместить group = number
аргумент внутри geom_line
функция и проблема была решена:
ggplot(data = my_data3, aes(x = Visit, y = Variable1)) +
geom_point(aes(col=Treatment), size = 2) +
geom_line(aes(col=Treatment, group = number)) +
facet_grid(. ~ Treatment) +
ggtitle("Variable1")+
theme_bw() +
stat_compare_means(comparisons = list(c("visit 1", "visit 2")),
label = "p.format", method = "wilcox.test", paired=T, tip.length = 0)