我有一个数据框,它由第一列(experiment.id)组成,其余列是与此实验 id 关联的值。每行都是一个唯一的实验 ID。我的数据框有 10⁴ - 10⁵ 的列。
data.frame(experiment.id=1:100, v1=rnorm(100,1,2),v2=rnorm(100,-1,2) )
这个数据框是我的样本空间的来源。我想做的是为每个唯一的experiment.id(行)随机抽样(替换)与此id相关的值v1,v2,....,v10000之一并构造一个样本s1。在每个样本 s1 中,都表示了所有实验 ID。
最终我想执行 10⁴ 样本,s1,s2,.....,s 10⁴ 并计算一些统计数据。
执行此采样过程的最有效方式(计算上)是什么。我想尽可能避免 for 循环。
更新: 我的问题不仅涉及采样,还涉及存储样本。我想我真正的问题是除了
d<-data.frame(experiment.id=1:1000, replicate (10000,rnorm(1000,100,2)) )
results<-data.frame(d$experiment.id,replicate(n=10000,apply(d[,2:10001],1,function(x){sample(x,size=1,replace=T)})))