2014-01-11 2 views
1

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

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

Я попытался решить эту проблему очень простым способом, но безуспешно.

я вручную определил те небольшие общины, и я попытался удалить их вершину, как я покажу ниже:

g2 <-remove.vertex.attribute(g, V(g)[ V(g)[color >13]%--% V(g)[color >13] ])

Я просто скопировал этот код из другого вопроса, и кажется, что я не понимаю очень Что ж.

Update

Следуя советам ниже, правильный способ сделать является:

g3 <-delete.vertices(g, V(g)[ V(g)[color >13] ])

Однако, я бы до сих пор благодарен, если кто-то поможет мне с частью моего вопроса, так как я должен повторять это много раз, и вручную это сделает меня навсегда.

Опять же, любая помощь будет оценена

ответ

2

Как говорит его название, remove.vertex.attribute удаляет атрибут вершины. Он не удаляет вершины. Прочтите это: http://igraph.sourceforge.net/doc/R/graph.structure.html и используйте delete.vertices.

+0

Привет @GAbor, спасибо! – Rafael

+0

Это фактически не отвечает на вопрос заголовка, поэтому это не очень полезно для людей, приземляющихся на этой странице. – Annan

+0

Ответ заключается в обновлении самого вопроса. Но если вы считаете, что это не очень хороший ответ, просто укажите другой. Я с удовольствием удалю это. –