rm(list=ls()) k <- 1000 n <- 100 m <- 200 mu1 <- 0 mu2 <- 1 sig1 <- 1 sig2 <- 2 hvar1.boot <- matrix(nrow = k,ncol = 1) hvar2.boot <- matrix(nrow = k,ncol = 1) for(l in 1:k){ x <- rnorm(n,mu1,sig1) y <- rnorm(m,mu2,sig2) } library(bootstrap) B <- 2000 R.boot <- numeric(B) for (b in 1:B) { idx <- sample(1:n, size = n, replace = TRUE) idy <- sample(1:m, size = m, replace = TRUE) hvar1.boot[b,] <- mean(idx,) hvar2.boot[b,] <- mean(idy,) }
时间: 2024-04-01 10:33:59 浏览: 53
MZ11 - 10A300 - 600RM技术规格书
这段代码是一个模拟实验,其中包括以下几个步骤:
1. 清空R环境中的所有对象,以便从一个干净的状态开始。
2. 定义了一些变量,比如k、n、m、mu1、mu2、sig1和sig2等。
3. 创建了两个矩阵hvar1.boot和hvar2.boot,它们的行数为k,列数为1。
4. 在一个for循环中,生成了n个从N(mu1, sig1)分布中随机抽取的样本和m个从N(mu2, sig2)分布中随机抽取的样本。
5. 导入bootstrap包,并定义一个名为B的变量,它表示bootstrap重复次数。
6. 在一个for循环中,使用bootstrap方法对hvar1和hvar2进行了重采样,并计算了每个重采样样本的均值。
在这段代码中,最后一个for循环中的代码存在语法错误,因为mean函数的输入参数不正确,应该是mean(x[idx])和mean(y[idy]),分别计算x[idx]和y[idy]的均值。
阅读全文