我正在从一个包含许多值列表的文件中采样,例如:
312313.34
243444
12334.92
321312
353532
并使用 R 从此列表中随机抽样:
list = read.table("data")
out <-sample(list,50,replace=TRUE)
out.mean<-mean(out)
out.mean
有人可以告诉我如何将它放入一个循环中,以便我可以执行此过程 1000 次并取这将生成的 1000 次均值的平均值吗?
非常感谢您!
鲁巴尔
最佳答案
另一种解决方案可能是(记住@Tyler Rinker 刚才所说的关于replicate
)
Data <- read.table(text='
312313.34
243444
12334.92
321312
353532', header=FALSE)
Data <- as.numeric(as.matrix((Data)))
set.seed(007)
Means <- replicate(1000, mean(sample(Data,50,replace=TRUE)))
均值由 1000 个均值组成,每个子样本大小为 50。如果您想要均值的均值,请执行以下操作:
mean(Means)
您尝试做的事情听起来像是自举或类似于用于减少偏差的重采样技术(我猜)。
关于r - 为随机抽样构建 R 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12130131/