R语言实现Bootstrapping将样本扩容至指定长度的方法问询
R语言实现Bootstrap扩展样本量至10000的函数
需求说明
现有三个数据分布:x(样本量n=2000)、y(样本量n=3000)、z(样本量n=4000),需通过Bootstrapping(放回抽样)方法将三者均转换为样本量n=10000的样本。
初始数据生成代码
# 生成符合需求的初始样本数据 x <- rnorm(n = 2000, mean = 0, sd = 1) y <- rnorm(n = 3000, mean = 0, sd = 1) z <- rnorm(n = 4000, mean = 0, sd = 1) # 修正原代码笔误,按需求将z的样本量设为4000
Bootstrap扩展样本量的通用函数
以下是一个通用函数,通过放回抽样实现从原始样本生成指定长度的Bootstrap样本:
bootstrap_extend <- function(original_data, target_n) { # 从原始数据中放回抽样,生成目标长度的样本 sample(original_data, size = target_n, replace = TRUE) }
函数使用示例
调用上述函数处理x、y、z,得到样本量为10000的新样本:
# 扩展x至10000个样本 x_boot <- bootstrap_extend(x, 10000) # 扩展y至10000个样本 y_boot <- bootstrap_extend(y, 10000) # 扩展z至10000个样本 z_boot <- bootstrap_extend(z, 10000)
验证结果
可通过以下代码确认新样本的长度是否符合要求:
# 检查新样本长度 length(x_boot) # 输出应为10000 length(y_boot) # 输出应为10000 length(z_boot) # 输出应为10000
内容的提问来源于stack exchange,提问作者EB3112
相关产品推荐
相关产品推荐

