Групповой в цикле - PullRequest
       3

Групповой в цикле

0 голосов
/ 29 октября 2019

У меня есть код ниже, который не работает, когда я пробую его на большом наборе данных, но прекрасно работает на небольшом наборе данных.

Код:

bodlane <- lapply(
  lapply(split(lctolc, lctolc$Item), function(x) graph.data.frame(x[, 2:3])), 
  function(x) lapply(
    V(x)[degree(x, mode = "in") == 0], 
    function(s) all_simple_paths(x, from = s, 
                                 to = V(x)[degree(x, mode = "out") == 0]) %>% 
      lapply(
        function(y) as.data.table(t(names(y))) %>% setnames(paste0("LC", seq_along(.)))
      ) %>% 
      rbindlist(fill = TRUE) 
  ) %>% rbindlist(fill = TRUE)
) %>% rbindlist(fill = TRUE, idcol = "Item")

Код выше работаетна приведенном ниже примере фрейма данных:

Item   LC     ToLC
  A    Delhi  Mumbai
  A    Mumbai Chennai
  B    Delhi  Kolkata
  B    Delhi  Pune
  C    Delhi  Mumbai
  C    Mumbai Pune
  C    Delhi  Pune
  ....and many more lines

Поскольку код не работает на большом наборе данных, но прекрасно работает на небольшом наборе данных

Я думал, можно ли запустить дляцикл для приведенного выше кода и для каждого элемента по одному. Как первый цикл for будет для элемента A всех строк, затем второй цикл для элемента B всех имеющихся строк и т. Д.

И мы сохраняем выходные данные в выходном кадре данных для каждого вычисления.

Можно ли это сделать в R? Пожалуйста, помогите мне, поскольку я новичок в R.

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