耽误您时间,实在对不起!
我的数据框架很简单。两列:第一列有基因型(1-39),第二列有性状值(数值,连续)。我想选择8个基因型,并计算相关性状值的平均值和stdev值。
最后,我想对8种基因型进行10,000次的抽样,而对于每一个样本,我希望得到相关性状值的stdev和平均值。理想的情况是,在矩阵中,每一行代表一个样本,每种基因型代表8列,对于stdev和与这些基因型关联的特征值的平均值,有两个最终列。这也可能是另一种方式。
再次感谢!
发布于 2012-06-05 02:46:19
这将返回8个性状随机抽样的所有基因型行的单个样本:
dat[ dat$genotype %in% sample(1:39, 8), ]
replicate
函数被设计为重复随机过程。从两个基因型的样本中重复3次获得“特质”sd:
dat <- data.frame(genotype=sample(1:5, 25,replace=TRUE), trait=rnorm(25) )
replicate ( 3, sd(dat[ dat$genotype %in% sample(1:5, 2), "trait" ]) )
[1] 0.7231686 0.9225318 0.9225318
它用方法和sd值记录示例sd:
replicate ( 3, {c( samps =sample(1:5, 2),
sds=sd(dat[ dat$genotype %in% samps, "trait" ]) ,
means = mean(dat[ dat$genotype %in% samps, "trait" ]) )} )
[,1] [,2] [,3]
samps1 1.0000000 1.0000000 5.0000000
samps2 5.0000000 3.0000000 1.0000000
sds 0.8673977 0.8673977 0.8673977
means 0.2835325 0.2835325 0.2835325
https://stackoverflow.com/questions/10890688
复制相似问题