从指定向量中无放回抽取N=2的样本5次,结果按列存储
R语言实现无放回多次抽样并按列存储结果
直接用replicate()结合sample()就能实现需求,代码如下:
# 定义原始向量 vec <- c(1,2,3,4,5,6,7,8,9,10,11) # 执行5次无放回抽样,每次抽2个元素,结果按列存储 sampling_result <- replicate(5, sample(vec, size = 2, replace = FALSE))
代码说明:
replicate(5, ...):重复执行后续抽样操作5次sample(vec, size = 2, replace = FALSE):从原始向量中无放回抽取2个元素,replace = FALSE确保每次抽样不会重复选取元素- 最终返回的
sampling_result是一个2行5列的矩阵,每一列对应一次抽样的结果,和你给出的预期输出结构完全一致。
你可以用str(sampling_result)查看结果结构,示例输出类似:
> str(sampling_result) int [1:2, 1:5] 1 2 3 9 7 10 4 8 5 6
内容的提问来源于stack exchange,提问作者flxflks
相关产品推荐
相关产品推荐

