如何在 R 中绘制 2 个图的 pdf(概率密度函数)

How to plot pdf (probability density function) of 2 graphs in R

我正在尝试可视化两个分布的直方图,然后在同一个 pdf 图表中可视化分布。

首先,我尝试从 µ = 6 och σ = 2 的正态分布中模拟 100 到 5000 次抽取。

尝试:

x <-rnorm(n=100, mean=6, sd=2)
hist(x, probability=TRUE)
y <-rnorm(n=5000, mean=6, sd=2)
hist(x, probability=TRUE)

我认为这对于可视化直方图是正确的。但是,我不明白如何在同一张图中显示两个图的 pdf。我找到了一个名为 pdfPlot() 的函数,但无法使其工作。

如何将 x 和 y 组合成一个图表并显示它们的 pdf?

也许供您考虑的选项是 ggplot2。如果有必要,我会为您留下代码。您可以在数据框中设置变量,然后绘制它们。您可以从 geom_histogram() 中删除 position 元素,以便在绘图中具有其他视角。这里的代码:

library(ggplot2)
set.seed(123)
#Code
x <-rnorm(n=100, mean=6, sd=2)
hist(x, probability=TRUE)
y <-rnorm(n=5000, mean=6, sd=2)
hist(x, probability=TRUE)
#Data
x <-rnorm(n=100, mean=6, sd=2)
y <-rnorm(n=5000, mean=6, sd=2)
xlab <- rep('x',100)
ylab <- rep('y',5000)
#Dataframe
df <- data.frame(value=c(x,y),lab=c(xlab,ylab),stringsAsFactors = F)
#Plot
ggplot(df,aes(x=value,fill=lab,color=lab,group=lab))+
  geom_histogram(aes(y = ..density..), alpha = 0.4,position = position_dodge())+
  geom_line(aes(y = ..density..,), stat = 'density',show.legend = F) 

输出: