随时间的分布(在 R 中的同一张图上绘制多个分布)

Distributions over time (plotting multiple distributions on the same graph in R)

我有不同年份的数据集,类似于下面所示的数据集(虽然更长)。它们是单独的数据框并且具有不同数量的观察值,所以我当时没有合并。我想制作一张图表,让我可以比较任期分布随时间的演变。所以我想制作一个包含 4 个参考年的 4 个密度图的图表。我怎样才能在 R 中实现它?

tenure
2
3
1
4
0.5
3
7
8
9
3
1
2.5
6
4
4.5
5

这是一种方法。如果它们具有相同的列类型和名称,则可以按行排列数据框。然后您可以使用 ggplot2

轻松创建绘图
library(ggplot2)

set.seed(123)

d1 <- data.frame(year = "2010", x = rnorm(100, mean = 0.5))
d2 <- data.frame(year = "2011", x = rnorm(100, mean = 0.7))
d3 <- data.frame(year = "2012", x = rnorm(100, mean = 1.5))
d4 <- data.frame(year = "2013", x = rnorm(100, mean = 1.2))

rbind(d1,d2,d3,d4) |>
  ggplot() +
  geom_density(aes(x = x, color = year))