2016-01-17 7 views
0

Я использую igraph в R, и у меня есть edgelist (g) около 9000+ взаимодействий, которые произошли в 78 группах. Я использовал функцию разложения для создания списка из 78 отдельных графиков (dg). Я хочу рассчитать собственные векторы для каждого из векторов внутри каждого играфа.Создание цикла для списка igraphs?

я могу сделать это для каждого графика в отдельности с помощью

eigen_centrality(dg[[1]], directed = FALSE, scale = TRUE, weights = NULL) 

Однако, делая все 78 графиков по отдельности будет очень много времени, и я хотел бы создать функцию или цикл, который будет идти по списку (Д.Г.) и сделайте это для меня. Боюсь, я не подошел вплотную к написанию кода, который сделает это, поэтому я не могу представить примеры воспроизводимого кода.

Может ли кто-нибудь предложить решение, которое могло бы это сделать? Каждый график имеет название dg [[x]] x от 1 до 78.

Очень благодарен за любые советы или предложения.

ответ

1

Функция lapply должна быть в состоянии справиться с этим для вас. Вы не указали какой-либо пример кода, но вам должно быть начато:

g=sample_gnp(1000,1/1000) 
dg=decompose(g,min.vertices=2) 

eigen.list=lapply(dg,eigen_centrality,directed=F,scale=T,weights=NULL) 
lapply(eigen.list,"[[","vector") 
+0

Thank you :) Это сработало отлично. –

 Смежные вопросы

  • Нет связанных вопросов^_^