Как объединить большой список игр в один - R - PullRequest
2 голосов
/ 25 октября 2019

У меня есть большой график, который мне нужно отфильтровать. После фильтрации (подграфа) я получаю список подграфов. Мне нужно снова объединить все эти подграфы в один график. Я не знаю, как объединить большой список (почти миллион подграфов)поскольку это довольно большой график, он занимает очень много времени, и единственная функция, которая работает хорошо и относительно быстро, это make_ego_graph, который создает список.

Ответы [ 2 ]

3 голосов
/ 25 октября 2019

Я предполагаю, что вы хотите объединение этих графиков:

do.call(union, subgraph_list)
1 голос
/ 25 октября 2019

ОК, я нашел решение, которое работает для меня (довольно быстро и не приводит к поломке моего компьютера).

> #first convert the list of igrpahs to list of data.frames
> subgraph_list_df <- lapply(subgraph_list, as_data_frame)
> # then combine all the data.frames in the list into one data.frame
> subgraph_df <- do.call(rbind, subgraph_list_df)
> #then make a graph out of the one combined data.frame
> subgraph <- graph_from_data_frame(subgraph_df , directed = FALSE)

для моих целей я знаю, что подграфы изолированы (нет общих ребер)между ними). Но если они связаны, нужно просто сделать уникальный (subgraph_df), чтобы избавиться от повторяющихся ребер перед преобразованием в граф.

...