#r #ggpubr
#r #ggpubr
Вопрос:
Я пытаюсь нарисовать сгруппированную фигуру, но не могу, моя ошибка: « position_jitterdodge()
требуется, по крайней мере, одна эстетика для уклонения». Кто-нибудь может мне помочь? Вот пример моих данных и моя попытка нарисовать код гистограммы. Мой ожидаемый результат похож на приведенный ниже график.
library(ggpubr)
d<-data.frame(Average=c(3,1.5,4, 6,
2,5.4,3.1,0.9,
4.6,3.3,2.8,1.9,
2.1,3.7,4.4,5.2),
Size=c("1750","1750","1750","1750",
"2000","2000","2000","2000",
"2500","2500","2500","2500",
"3000","3000","3000","3000"),
Group=c("P1","P1","P1","P1",
"S1","S1","S1","S1",
"P2","P2","P2","P2",
"S2","S2","S2","S2"))
ggbarplot(
d, x = "Size", y = "Average",
add = c("mean_sd", "jitter"),
add.params = list(shape = "supp"),
fill= "Group", palette = c("#807F7F", "#BF504D"),
position = position_dodge(0.8)
)
Комментарии:
1. Ваш пример не работает с предоставленными вами данными. Кроме того, не могли бы вы определить, как должен выглядеть результат? Что вы пытаетесь дрожать и уклоняться?
2. в каком пакете находится ggbarplot? Может быть проще сделать это непосредственно в ggplot2.
3. пакет ggpubr
4. @DaveArmstrong определил Дейва, спасибо
Ответ №1:
В вашем коде есть несколько проблем:
group
имеет 4 значения с присвоенными только 2 цветами.- Переменная ‘supp’ не существует в ваших данных.
В противном случае ваш код должен работать:
library(ggpubr)
#> Loading required package: ggplot2
d<-data.frame(Average=c(3,1.5,4, 6,
2,5.4,3.1,0.9,
4.6,3.3,2.8,1.9,
2.1,3.7,4.4,5.2),
Size=c("1750","1750","1750","1750",
"2000","2000","2000","2000",
"2500","2500","2500","2500",
"3000","3000","3000","3000"),
Group=c("P","P","S","S", "P","P","S","S", "P","P","S","S","P","P","S","S")
)
ggbarplot(
d, x = "Size", y = "Average",
add = c("mean_sd", "jitter"),
add.params = list(shape = "Group"),
fill= "Group", palette = c("#807F7F", "#BF504D"),
position = position_dodge(0.8)
)
Создано 2020-10-02 пакетом reprex (версия 0.3.0)