Я создаю функцию, которая позволяет мне умножать мои данные на случайные пропорции, суммируя их, таким образом создавая смесь моих данных, умноженную на эту пропорцию.
Например, если у меня есть 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 и что единственные члены должны быть умножены на перестановкуspecdat[i]data$corr.spec%cor.absorption
Таким образом, мой вопрос: как перебрать (очень) вложенный список только по определенному члену списка?