繁体   English   中英

如何使用 ggplot 在 R 中创建意大利面条图?

[英]How to create a spaghetti plot in R using ggplot?

我有一个如下所示的数据集:

  Study_ID time_point value
1      100      Time1    15
2      100      Time2    50
3      100      Time3   120
4      200      Time1    20
5      200      Time2    35
6      200      Time3   150
7      300      Time1    35
8      300      Time2    67
9      300      Time3    95

其中每个患者 (Study_ID) 对于 3 个时间点(时间 1、时间 2 和时间 3)有 3 行,每个时间点都有一个值。

我想用 x 轴上的 time_point 和 y 轴上的值创建一个意大利面条图,每个病人都有一条线。 我想要的输出看起来像这样:

所需图表

我该怎么做呢?

可重现的数据:

data<-data.frame(Study_ID=c("100","100","100","200","200","200","300","300","300"),time_point=c("Time1","Time2","Time3","Time1","Time2","Time3","Time1","Time2","Time3"),value=c("15","50","120","20","35","150","35","67","95"))

通过在aes()中使用groupcolor参数,您可以添加层geom_point()geom_line()以将颜色和组保持在一起。

library(tidyverse)

data<-data.frame(Study_ID=c("100","100","100","200","200","200","300","300","300"),time_point=c("Time1","Time2","Time3","Time1","Time2","Time3","Time1","Time2","Time3"),value=c("15","50","120","20","35","150","35","67","95"))

ggplot(data, aes(time_point, value, group = Study_ID, color = Study_ID)) + 
  geom_point() + 
  geom_line()

reprex 包于 2022-06-20 创建 (v2.0.1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM