如何进行嵌套循环以从列表中提取我需要的元素

时间:2019-05-07 22:20:18

标签: r list loops for-loop nested

在Rstudio中,我有一个包含8个对象的列表,每个对象都包含元素。我试图通过interwals提取它们。我有两个值来定义interwals。第一个值代表间隔的开始,第二个值代表结束。 我应该如何以适当的方式做到这一点?

我写下了一个带有嵌套循环的简单函数,该函数从列表中获取对象并提取所需的元素:

new_func <- function(x, y) { # x and y are values that stands for interwals

  # list with objects
  mylist <- list_1 

  # vector that will contain elements of the list's objects
  vector_of_elem_fr_list <- c()

  # new list with objects that contain extracted elements
  copy_list <- list()

  for (i in length(mylist)){
    vector_of_elem_fr_list <- mylist[[i]]

    # vector with extracted elements
    vector_11 <- c()
    p <- 1

    for (j in 1:length(x)) { # x and y has the same length
      vector_11 <- c(vector_11, vector_of_elem_fr_list[c(x[j]:y[j])])
      p <- p + 1
      if (p == 20) {
        copy_list[[i]] <- vector_11
      }
    }
  }
  return(copy_list)
}

我还添加了“ p”值以倒计时内部循环的整个周期,然后才将向量放入新列表中。 但是该函数返回一个包含空对象的列表,但最后一个包含正确提取的元素的对象除外。请帮忙。 这是a link的已放入嵌套列表

0 个答案:

没有答案