遍历嵌套列表的特定部分

时间:2018-12-09 21:37:22

标签: r list loops iteration mapply

我正在创建一个函数,允许我将数据按随机比例相乘,求和,从而创建我的数据乘以该比例的混合物。

例如,如果我有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

因此,我的问题是:如何仅在列表的特定成员上循环遍历(非常)嵌套的列表?

0 个答案:

没有答案