我有一个数据集记录了四个不同时间点的肿瘤大小(每行是一名患者)。我想对这个数据集进行分析,以显示所有患者的总体情况,每个时间点后肿瘤大小都在减少。
我可以做什么样的分析?我应该如何使用ggplot来显示这些数据并显示趋势?非常感谢!
SUBJECTID Baseline 1 2 3
1001 88 78 30 14
1002 29 26 66 16
1003 50 64 54 46
1004 91 90 99 43
1005 98 109 60 42
1007 100 100 54
1008 45 49 47 32
1009 75 66 57 7
1010 60 52 20 3
1011 68 68 56 47
1012 78 84 56 57
1013 71 70 8 5
1015 79 50 11 3
1016 73 60 57 36
1017 54 27 16
1018 50 37 33 26
1019 115 68 33 67
1021 63 55 0 0
1022 98 91 76 75
1024 76 76 0
1025 47 45 42 42
1026 32 25 14 0
1027 40 37 65
1028 60 110 110 0
答案 0 :(得分:2)
box plot可能有用。请尝试以下方法:
library(tidyverse)
df %>%
gather(key = "time", value = "tumor_size", -SUBJECTID) %>%
ggplot(aes(time, tumor_size)) +
geom_boxplot() +
labs(title = "Tumor Size ~ Time",
subtitle = "Insert subtitle if you want",
caption = "Insert caption if you want",
x = "Time",
y = "Tumor Size (insert unit)") +
theme_bw() +
theme(
panel.grid.major.x = element_blank(),
text = element_text(family = "Palatino"),
plot.title = element_text(face = "bold", size = 20)
)
如果您愿意,也可以添加geom_jitter()
。在geom_boxplot() +
行之后,添加:
geom_jitter(width = 0.1, pch = 21, fill = "grey") +
你会得到这样的东西:
答案 1 :(得分:0)
为了显示每个时间点后整体肿瘤大小正在减少,您通常需要在每个时间范围后的平均肿瘤大小。绘制比每个元素都容易得多。我已经写了如何使用前四行执行此操作,生成点图:
Django-project
common-utils
utils.py
app1
app1-code
utils-specific-for-app1
app2
app2-code
utils-specific-for-app2
点图:
就要做什么分析而言,我无法回答这个问题。这取决于你想要它的样子。我所做的是表达数据的最基本方式。您可能需要使用柱形图,条形图,折线图等。这取决于您的个人偏好。在使用ggplot方面,您可以使用以下许多不同的示例:https://www.rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf