r语言绘制密度估计曲线与正太密度曲线相比较
时间: 2024-11-20 17:41:33 浏览: 15
R语言是一种广泛用于统计分析和数据可视化的编程语言。绘制密度估计曲线和标准正态分布曲线是常用的数据可视化手段,可以帮助我们理解数据分布情况或检查是否存在正态分布假设。
在R中,可以使用`density()`函数来创建数据的密度估计曲线,而`dnorm()`函数则直接生成标准正态分布的密度。例如:
```r
# 导入所需库
library(ggplot2) # 如果尚未安装,需要先装这个包
# 创建一个随机数样本(这里假设是来自某种分布)
data <- rnorm(1000)
# 计算并画出数据的密度估计
dens_data <- density(data)
dens_plot <- ggplot() +
geom_line(x = dens_data$x, y = dens_data$y, color = "blue", alpha = 0.7) +
labs(title = "Data Density Estimation", x = "Value", y = "Density")
# 正态密度曲线
dens_normal <- dnorm(data, mean = mean(data), sd = sd(data))
hist(data, freq = FALSE, probability = TRUE, col = 'lightgray', border = NA, main = '')
lines(dens_normal ~ data, type = 'l', lty = 2, col = "red", lwd = 2) # 在直方图上添加正态曲线
# 绘制两者的对比
ggarrange(dens_plot, hist(data), ncol = 1)
```
在这个例子中,首先通过`density()`函数计算了数据点的密度估计,并用`ggplot2`绘制了一条蓝色线表示数据的密度。然后,通过`dnorm()`函数生成标准正态曲线,并将其叠加到数据的直方图上,红色虚线表示正态分布。
阅读全文