我想引导一个包含多个列和行变量的大型数据集。以下是我的数据集的简化重新创建:
charDataDiff <- data.frame(c('A','B','C'), matrix(1:72, nrow=9))
colnames(charDataDiff) <- c("patchId","s380","s390","s400","s410","s420","s430","s440","s450")
以 为标准分隔数据patchId
。这将创建三个列表:每个变量一个
idColor <- c("A", "B", "C")
(patchSpectrum <- lapply(idColor, function(idColor) charDataDiff[charDataDiff$patchId==idColor,]))
创建了sampleBoot
对样本进行采样的函数patchSpectrum
sampleBoot <- function(nbootstrap=2, patch=3){
return(lapply(1:nbootstrap, function(i)
{patchSpectrum[[patch]][sample(1:nrow(patchSpectrum[[patch]]),replace=TRUE),]}))}
例子:
sampleBoot(5,3)
这是我卡住的地方:
- 我需要对每个
patchId
列表以及每个列变量进行采样(上面的“sampleBoot”很容易完成), patchId
取每个采样列表迭代的中位数,并且- 创建一个新的中位数总体来计算参数参数。我可以手动完成,但这很愚蠢。