Как сделать вложенный цикл для извлечения нужных мне элементов из списка - PullRequest
0 голосов
/ 08 мая 2019

В Rstudio у меня есть список из 8 объектов, каждый из которых содержит элементы. Я пытаюсь извлечь их из переплетений. У меня есть два значения, чтобы определить взаимосвязи. Первое значение обозначает начало интервала, второе - конец. Как я должен сделать это более корректно?

Я записал простую функцию с вложенным циклом, которая берет объекты из моего списка и извлекает нужные мне элементы:

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» для обратного отсчета всего цикла внутреннего цикла и только затем поместил вектор в новый список. Но функция возвращает список с пустыми объектами, за исключением последнего, который содержит правильно извлеченные элементы. Пожалуйста помоги. Вот ссылка из вложенного списка

...