在for循环中分组

时间:2019-10-29 16:53:11

标签: r

我有下面的代码,当我在大型数据集上尝试运行时,它没有运行,但是在小型数据集上运行得很好。

代码:

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循环。 像第一个for循环将对Item A的所有行,然后第二个循环对Item B的所有存在的行,依此类推

我们将每次计算的输出存储在输出数据框中。

这可以在R中完成吗? 由于我是R的新手,请帮助我。

0 个答案:

没有答案