# 生成500个标准正态分布的随机数
x <- rnorm(500)
# 使用FD准则得到直方图密度估计
h <- 2 * IQR(x) / length(x)^(1/3)
hist(x, breaks = seq(min(x)-h/2,max(x)+h/2,h),
freq = FALSE, col = "gray", border = "white",
xlab = "x", ylab = "Density", main = "Histogram with FD Density Estimate")
lines(density(x), lty = 1, lwd = 2, col = "blue")
2、用R 编写出同时抛掷二枚硬币的随机实验,探索其规律
# 定义硬币正面和反面
coin <- c("H", "T")
#这一步定义了一个长度为2的字符向量,其中第1个元素表示硬币正面的标志("H"),第2个元素表示硬币反面的标志("T")。
#接下来是模拟同时掷两枚硬币的1000次实验:
# 模拟同时掷两枚硬币1000次
coin1 <- sample(coin, 1000, replace = TRUE)
coin2 <- sample(coin, 1000, replace = TRUE)
#这里使用了sample()函数从硬币正反面两种可能性中随机选出一个,并重复1000次,将结果分别存储在变量coin1和coin2中。其中参数replace=TRUE指定了抽样时可以重复,并确保两枚硬币的独立性。
#接着计算掷两枚硬币时出现不同结果的比例:
# 计算掷两枚硬币时出现不同结果的比例
diff_ratio <- sum(coin1 != coin2) / length(coin1)
#这一步使用了sum()函数统计出coin1与coin2对应位置处不相等的元素数量之和,即出现不同结果的总次数;再除以硬币掷出总次数1000,得到掷两枚硬币时出现不同结果的比例。
#最后输出结果:
# 显示结果
cat("掷两枚硬币时,出现不同结果的概率为", diff_ratio)