Я не уверен, что вы имеете в виду "Функции, включенные в igraph (например, delete_edges или delete_vertices), не работают для моего случая".delete.vertices
сделано именно для этой цели.
Поскольку вы не предоставляете данные, я покажу небольшой пример из случайных данных.Я добавляю метки на график, чтобы при удалении изолированных вершин нумерация не менялась.Я также использую явную разметку, чтобы таким же образом выложить уменьшенный график для сравнения.
library(igraph)
set.seed(1234)
G = erdos.renyi.game(40, 0.055)
V(G)$label=1:40
LO = layout_with_fr(G)
plot(G, layout = LO)
![Graph 01](https://i.stack.imgur.com/DyBxN.png)
Теперь определите изолированные вершины и используйте delete.vertices
для их удаления.
Isolated = which(degree(G)==0)
G2 = delete.vertices(G, Isolated)
LO2 = LO[-Isolated,]
plot(G2, layout=LO2)
![Graph 02](https://i.stack.imgur.com/19Xtd.png)
Тот же граф, но без изолированных вершин.
Если это не то, что вам нужно, пожалуйста, уточните, почему он не работает для вашего графа.