如何制作一个图表,显示在一个线(意大利面条图)连接的两个时间点(基线和跟进)上代表年龄的点?

时间:2018-06-06 09:42:42

标签: r

R studio(ggplot)问题:我需要准备一张年龄在X轴上的情节,每个受试者用每个疗程一个点(基线和随访)表示,并在它们之间绘制一条线(意大利面条图)。最好按基线年龄排序..任何人都可以帮助我吗?

我想沿着x轴水平绘制线条(从Age at Timepoint 1到AgeTp2),y轴可以表示一些基于AgeTp1的个体排序列表的索引(所以只是一堆水平线,真的)

IMAGE OF DATASET

1 个答案:

答案 0 :(得分:0)

这是一个简单的例子,您可以根据自己的目的进行修改......

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