我正在创建一个函数,允许我以随机比例乘以我的数据,对它们求和,从而创建我的数据乘以此比例的混合 .
例如,如果我有4个数据集,我创建一个4个随机数的比例,它们总和100并将每个数据集乘以每个比例并对结果求和 . 除此之外,我希望我的函数遍历我的数据集,并通过我的比例来遍历所有可能的比例数据集乘法组合 .
可以看到示例数据集:
library(LCF)
data(stdmix)
我的功能目前就在这一点上:
library(combinat)
props <- function(corr.spec.standards = specdat, size, nprop){
if (size < 2) stop("number must be greater than 1")
## create progress bar
try(pb <- txtProgressBar(min = 1, max = nprop, style = 3), silent = TRUE)
## initial loop for proportions
for (i in 1:nprop) {
prop <- sample.int(100, size = size)
prop <- (prop/sum(prop))
permut <- permn(prop)
## permutation loop
for (i in permut[[i]]) {
mapply(`*`,permut, rep(specdat[i]$data$corr.spec$cor.absorption,each=length(permut)))
}
}
我的问题是 specdat
是一个嵌套列表,在这个例子中是一个8的列表,并且唯一要与Permutation相乘的成员是 specdat[i]data$corr.spec%cor.absorption
因此,我的问题是:如何仅在列表的特定成员上遍历(非常)嵌套列表?