2016-10-25 10 views
0

Мы используем igraph и R для обнаружения сообществ в сети. Обнаружение с помощью cluster_walktrap работает прекрасно:Igraph Создать сообщества

e <- cluster_walktrap(g) 

com <-membership(e) 

print(com) 

write.csv2(com, file ="community.csv", sep=",") 

результат печатается в порядке, используя печать с номером и номером сообщества, что он принадлежит, но у нас есть проблема в записи результата в файле CSV и у меня есть error: не может принуждать класс "" членство "" к data.frame

Как я могу написать результат членства в файле?

Благодаря

ответ

0

Преобразование membership объект numeric. write.csv и write.csv2 ожидают кадр или матрицу данных. Команда пытается принудить объект к кадру данных, который класс membership сопротивляется. Поскольку членство действительно является просто вектором, вы можете преобразовать его в числовое. Либо:

write.csv2(as.numeric(com), file ="community.csv") 

Или:

com <- as.numeric(com) 
write.csv2(com, file ="community.csv") 

О, и вам не нужен sep = "," аргумент для write.csv.

Если вы хотите создать таблицу вершин имен/номеров и групп:

com <- cbind(V(g),e$membership) #V(g) gets the number of vertices 
com <- cbind(V(g)$name,e$membership) #To get names if your vertices are labeled 
+0

Спасибо за ответ, но я хочу, чтобы иметь два столбца с номером и сообществом. Как я могу это получить? – Omar

+0

обновлено, чтобы адресовать это. – paqmo

+0

Работая большим спасибо. Еще один быстрый вопрос, если у нас есть более 100 миллионов данных для анализа, мы не получаем никаких данных и ошибок в журнале, Isgraph не адаптирован для большого набора данных? (отлично работает для небольшого набора данных) – Omar