R语言绘制正态分布密度函数及其随机数随着均值、方差的变化而变化的动态图。
时间: 2025-01-04 21:40:00 浏览: 16
在R语言中,可以使用`ggplot2`包来创建正态分布密度函数的图形,并结合`cowplot`或者`patchwork`等库制作动态图。以下是简单的步骤:
1. **绘制正态分布密度函数**:
首先,你需要加载必要的库并生成一组数据样本:
```R
library(ggplot2)
set.seed(123) # 设置随机种子保证结果可复现
x <- rnorm(1000, mean = 5, sd = 2) # 创建1000个服从均值5,标准差为2的正态分布的随机数
density_plot <- ggplot(data.frame(x), aes(x)) +
geom_density(fill = "blue", alpha = 0.6) +
labs(title = "Normal Distribution Density", x = "Value", y = "Density")
```
2. **绘制随机数随着均值变化的动态图**:
可以通过循环改变均值,每次改变后更新图表并保存:
```R
means <- seq(from = 2, to = 8, by = 0.1) # 设定均值范围
dynamic_plot <- function(mean) {
x <- rnorm(1000, mean = mean, sd = 2)
new_plot <- density_plot + ggtitle(paste0("Mean =", mean))
return(new_plot)
}
plot_list <- lapply(means, dynamic_plot)
cowplot::plot_grid(plotlist = plot_list, ncol = length(means)) # 使用cowplot展示动态图
```
3. **绘制随机数随着方差变化的动态图**:
类似地,你可以设置方差变量并调整`rnorm`函数:
```R
sigmas <- function(sigma) {
x <- rnorm(1000, mean = 5, sd = sigma)
new_plot <- density_plot + ggtitle(paste0("Variance =", sigma^2))
return(new_plot)
}
variance_plot_list <- lapply(sigmas, dynamic_variance_plot)
cowplot::plot_grid(plotlist = variance_plot_list, ncol = length(sigmas))
```
阅读全文