我想绘制在不同条件下饲养的个体在发育过程中的累积死亡率。 X1 是一个有序分类变量,代表我的研究物种的不同生命阶段 (E,1,2,3,4,P),X2 是一个分类变量,代表个体成长的不同条件(五个不同条件 a-e) 。我的数据如下:
X2 X1 Cumulative.%.mortality
a E 19.64285714
b E 28.16901408
c E 26.66666667
d E 49.72972973
e E 78.84615385
a 1 26.78571429
b 1 32.3943662
c 1 29.09090909
d 1 51.89189189
e 1 79.80769231
a 2 26.78571429
b 2 40.84507042
c 2 31.51515152
d 2 52.97297297
e 2 79.80769231
a 3 28.57142857
b 3 53.52112676
c 3 33.93939394
d 3 56.21621622
e 3 79.80769231
a 4 30.35714286
b 4 56.33802817
c 4 41.81818182
d 4 58.37837838
e 4 82.21153846
a P 30.35714286
b P 56.33802817
c P 42.42424242
d P 58.37837838
e P 82.21153846
每个数据点代表在特定生命阶段或之前死亡的个体百分比(添加到第一个生命阶段 E 开始时的不同条件)。 1/c 的值代表在 c 条件下在生命阶段 1(和 E)死亡的个体的百分比。
我希望有一条线连接每个数据点,并且对于 X2 的每个不同条件都有单独的线。
我尝试过在 R 中使用plot()函数,但这只会为每个生命阶段带来单独的箱线图。
将
X1
转换为具有正确级别的因子,并使用 geom_step
中的 ggplot
绘制结果:
library(tidyverse)
df %>%
mutate(X1 = factor(X1, unique(X1))) %>%
ggplot(aes(X1,`Cumulative.%.mortality`, group = X2)) +
geom_step(aes(color = X2), linewidth = 1) +
scale_color_brewer(palette = "Set1") +
theme_minimal(base_size = 20) +
scale_y_continuous("Cumulative mortality (%)", limits = c(0, 100))
问题中的数据采用可重现的格式
df <- structure(list(X2 = c("a", "b", "c", "d", "e", "a", "b", "c",
"d", "e", "a", "b", "c", "d", "e", "a", "b", "c", "d", "e", "a",
"b", "c", "d", "e", "a", "b", "c", "d", "e"), X1 = c("E", "E",
"E", "E", "E", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2",
"3", "3", "3", "3", "3", "4", "4", "4", "4", "4", "P", "P", "P",
"P", "P"), `Cumulative.%.mortality` = c(19.64285714, 28.16901408,
26.66666667, 49.72972973, 78.84615385, 26.78571429, 32.3943662,
29.09090909, 51.89189189, 79.80769231, 26.78571429, 40.84507042,
31.51515152, 52.97297297, 79.80769231, 28.57142857, 53.52112676,
33.93939394, 56.21621622, 79.80769231, 30.35714286, 56.33802817,
41.81818182, 58.37837838, 82.21153846, 30.35714286, 56.33802817,
42.42424242, 58.37837838, 82.21153846)), class = "data.frame",
row.names = c(NA, -30L))