У меня есть код ниже, который не работает, когда я пробую его на большом наборе данных, но прекрасно работает на небольшом наборе данных.
Код:
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.