我有下面的代码,当我在大型数据集上尝试运行时,它没有运行,但是在小型数据集上运行得很好。
代码:
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的新手,请帮助我。