[R] igraph_vertex

sibyiie@stoeckii m@iii@g oii gmx@ch sibyiie@stoeckii m@iii@g oii gmx@ch
Sat Feb 24 20:42:24 CET 2024


Dear R-community

It would be nice to get some input how to find a solution for the following error in igraph and vertex setting.

Error in intI(i, n = x using Dim[1], dn[[1]], give.dn = FALSE) : 
  Index größer als maximales 6

Kind regards
Sibylle 

Working example

library(circlize)
library(ggplot2)
library(igraph)
library(tidyverse)
library(RColorBrewer)
library(stringi)
library(scico)
library(plotly)
library(ggraph)

edges_table_Test.csv

Names	target	weight
B.B	A.A	4
C.C	A.A	5
D.D	A.A	5
E.E	A.A	5
F.F	A.A	1
C.C	B.B	5
E.E	B.B	1
F.F	B.B	2
A.A	C.C	5
B.B	C.C	1
D.D	C.C	5
E.E	C.C	5
F.F	C.C	3
A.A	D.D	5
B.B	D.D	1
C.C	D.D	5
E.E	D.D	5
F.F	D.D	4
A.A	E.E	5
B.B	E.E	1
C.C	E.E	4
D.D	E.E	5
F.F	E.E	5
A.A	F.F	5
B.B	F.F	1
C.C	F.F	2
D.D	F.F	3
E.E	F.F	4
F.F	F.F	5

edge_list<-read.csv("edges_table_Test.csv")

network <- graph_from_data_frame(aes_collapsed, directed= FALSE, 
                                 vertices = details)


temp<-cluster_optimal(network)
temp<-cbind(membership=temp$membership, Names=temp$name)
aes_collapsed <- aes_collapsed %>%
  merge(temp, by="Names")


network <- network %>%
  set_edge_attr(name = "type", value = factor(aes_collapsed$Names, 
                                                 ordered = is.ordered(V(network)$name))) %>%
  set_edge_attr(name = "membership", value = aes_collapsed$membership) %>%
  set_edge_attr(name = "color", 
              value = c(viridis::viridis(5))
              [match(E(.)$type, c(factor(V(.)$name)))]) %>%
  set_vertex_attr(name = "trans_v_net", value = c(transitivity(., type = "local"))) %>%
  set_vertex_attr(name = "hub_score", value = c(hub_score(.)$vector)) %>%
  set_vertex_attr(name = "color", 
              value = c(viridis::viridis((5)))
              [match(V(.)$name, c(factor(V(.)$name)))]) %>%
  set_vertex_attr(name= "community", value=cluster_optimal(.)$membership)

clrs<-scico(3, palette = "batlow")

par(bg="black")
network %>% plot(
     vertex.color=clrs[V(.)$community], 
     vertex.size=V(.)$hub_score*5, 
     vertex.frame.color=V(.)$color, 
     vertex.label.color="white", 
     vertex.label.cex=0.5, 
     vertex.label.family="Helvetica",
     vertex.label.font=1,
     edge.curved=0.5,
     edge.width= network,
     layout=layout_with_mds(.))

Error in intI(i, n = x using Dim[1], dn[[1]], give.dn = FALSE) : 
  Index größer als maximales 6


tiff("figures/AES_network_bymembership.tiff", width=1000, height=700, res=120)
network %>%
  ggraph(., layout = "auto")+
  geom_edge_arc(curvature=0.3, aes(width=(E(network)$weight/10), color=from, alpha=0.5)) +
  geom_node_point(aes(size = V(network)$hub_score*200, color= as.factor(V(network)$community))) +
  geom_node_text(aes(label =  V(network)$name), size=5, color="white", repel=T)+
  scale_color_scico_d(palette = "batlow")+
  scale_edge_width(range = c(0.2,4))+
  scale_size(range = c(0.5,20)) +
  #scale_edge_color_manual(values = c(scico(21, palette="batlow")))+
  theme(plot.background = element_rect(fill = "black"),
        legend.position = "right",
        panel.background = element_rect(fill = "black"))
dev.off()



More information about the R-help mailing list