You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中模拟符合指定特殊分布形态的数据集

R语言模拟双峰分布数据方案

你需要模拟的是典型的双正态混合分布,可通过以下代码实现:

基础R实现(无需额外安装包)

# 设置随机种子保证结果可复现
set.seed(123)

# 配置分布参数
total_sample <- 10000  # 总生成样本量
group1_ratio <- 0.4    # 第一个峰对应的样本占比
mu1 <- 2               # 第一个峰的中心位置(均值)
sd1 <- 0.8             # 第一个峰的宽度(标准差)
mu2 <- 5               # 第二个峰的中心位置(均值)
sd2 <- 1.2             # 第二个峰的宽度(标准差)

# 生成模拟数据
group1_size <- round(total_sample * group1_ratio)
group2_size <- total_sample - group1_size
sim_data <- c(
  rnorm(group1_size, mean = mu1, sd = sd1),
  rnorm(group2_size, mean = mu2, sd = sd2)
)

# 绘制直方图验证分布形态
hist(sim_data, breaks = 50, col = "skyblue", border = "white", main = "双峰分布模拟结果", xlab = "数值")

可选:用ggplot2绘制密度验证图

install.packages("ggplot2") # 未安装时先运行此行
library(ggplot2)

ggplot(data.frame(value = sim_data), aes(x = value)) +
  geom_histogram(aes(y = ..density..), bins = 50, fill = "skyblue", alpha = 0.6) +
  geom_density(color = "darkred", linewidth = 1) +
  labs(title = "双峰分布密度图", x = "数值", y = "密度") +
  theme_bw()

参数调整说明

  • 调整两个峰的间距:修改mu1和mu2的差值,差值越大峰分离越明显
  • 调整峰的宽度:修改sd1和sd2,数值越大对应峰越平缓宽阔
  • 调整两个峰的高度差:修改group1_ratio,占比越高对应峰越高

内容的提问来源于stack exchange,提问作者sd3184

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:54:10