sto lavorando con un grafico che ha 121 vertici e 209 bordi e sto cercando di rimuovere da questo grafico vertici che soddisfano due condizioni:condizionale rimozione di vertici in base agli attributi di r
degree(my.graph)==0
- il nome del vertice inizia con un carattere specificato.
Ecco un esempio che mostra ciò che voglio ottenere. Dal grafico seguente:
toy.graph <- graph.formula(121-221,121-345,121-587,345-587,221-587, 490, 588)
desidero rimuovere vertici con grado 0 che iniziano con 5. In questo caso voglio rimuovere solo vertice 588 (ma non 490 e 587). So come rimuovere i vertici che iniziano con 5:
delete.vertices(toy.graph,V(toy.graph)$name
%in% grep("^5",V(toy.graph)$name,value=T))
e come rimuovere i vertici con grado 0:
delete.vertices(toy.graph, V(toy.graph)[degree(toy.graph)==0])
ma quando provo a mettere insieme queste due condizioni, che è
delete.vertices(toy.graph, V(toy.graph)$name %in%
grep("^5",V(toy.graph)$name,value=T)
&& V(toy.graph)[degree(toy.graph)==0])
non funziona e torno al grafico completo. C'è un modo speciale di combinare più condizioni per rimuovere i vertici?
Grazie!
Usa 'e', non '' &&. (Vedi la pagina di aiuto di '? Logic' per la differenza) – MrFlick
Ho appena capito anche io. Stavo usando un operatore sbagliato per e. Grazie! – Justyna
Quindi, quando lo fai con "+" invece di "&&" ottieni quello che vuoi? Per me, questo lascia 490 nel grafico, e ho pensato che volessi liberarti del 490 dal momento che ha un grado di 0. – Jota