цикл через определенные части вложенного списка - PullRequest
0 голосов
/ 10 декабря 2018

Я создаю функцию, которая позволяет мне умножать мои данные на случайные пропорции, суммируя их, таким образом создавая смесь моих данных, умноженную на эту пропорцию.

Например, если у меня есть 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

Таким образом, мой вопрос: как перебрать (очень) вложенный список только по определенному члену списка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...