Как сделать график, показывающий точки, представляющие возраст в двух точках времени (базовый и последующий), соединенных линией (график спагетти)? - PullRequest
0 голосов
/ 06 июня 2018

R studio (ggplot) вопрос: мне нужно подготовить сюжет с возрастом по оси X, где каждый предмет представлен одной точкой за сеанс (базовый и последующий) с линией, проведенной между ними (сюжет спагетти).желательно сортировать их по возрасту на исходном уровне .. кто-нибудь может мне помочь?

Я хочу построить линии по горизонтали вдоль оси x (от возраста в момент времени 1 до AgeTp2), а ось y может представлять некоторый индекс, основанный на отсортированном списке людей, основанном на AgeTp1 (так что простокуча горизонтальных линий, правда)

ИЗОБРАЖЕНИЕ ДАННЫХ

1 Ответ

0 голосов
/ 06 июня 2018

Вот простой пример, который вы можете изменить в соответствии с вашими целями ...

df <- data.frame(ID=c("A","A","B","B","C","C"),
                 age=c(20,25,22,27,21,28))

library(dplyr)
library(ggplot2)

#sort by first age for each ID
df <- df %>% group_by(ID) %>% 
  mutate(index=min(age)) %>% 
  ungroup() %>% 
  mutate(index=rank(index))

ggplot(df,aes(x=age,y=index,colour=ID,group=ID))+
  geom_point(size=4)+
  geom_line(size=1)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...