Я создал гистограмму, используя geom_bar с «Группой» на оси X (женский, мужской) и «Значения» на оси Y. Далее группа подразделяется на «Сессию», так что есть «Сессия 1» и «Сессия 2» как для мужчины, так и для женщины (т.е. всего четыре такта).
Поскольку все участники участвовали в сессии 1 и 2, Я наложил точечный график (geom_dot) на каждый из четырех столбцов, чтобы представить отдельные данные.
Сейчас я пытаюсь соединить наблюдения для всех участников («PID») между сеансами 1 и 2. Другими словами, должны быть линии, соединяющие несколько наборов двух точек на «мужской» части оси X (то есть для каждого участника) и "Женская часть".
Я пробовал это с "geom_line" (ниже), но безрезультатно (вместо этого он создал одну вертикальную линию в середине «Мужчина» и еще один в середине «Женщина»). Я не слишком уверен, как это исправить.
См. Код ниже:
ggplot(data_foo, aes(x=factor(Group),y=Values, colour = factor(Session), fill = factor(Session))) +
geom_bar(stat = "summary", fun.y = "mean", position = "dodge") +
geom_dotplot(binaxis = "y", stackdir = "center", dotsize = 1.0, position = "dodge", fill = "black") +
geom_line(aes(group = PID), colour="dark grey") +
labs(title='My Data',x='Group',y='Values') +
theme_light()
Пример данных (.txt)
data_foo <- readr::read_csv("PID,Group,Session,Values
P1,F,1,14
P2,F,1,13
P3,F,1,16
P4,M,1,18
P5,F,1,20
P6,M,1,27
P7,M,1,19
P8,M,1,11
P9,F,1,28
P10,F,1,20
P11,F,1,24
P12,M,1,10
P1,F,2,26
P2,F,2,21
P3,F,2,19
P4,M,2,13
P5,F,2,26
P6,M,2,15
P7,M,2,23
P8,M,2,23
P9,F,2,30
P10,F,2,21
P11,F,2,11
P12,M,2,19")