[R] igraph_vertex

sibyiie@stoeckii m@iii@g oii gmx@ch sibyiie@stoeckii m@iii@g oii gmx@ch
Mon Feb 26 09:02:56 CET 2024


Dear Kimmo

First of all many thanks for the valuable advice to publish code and csv. Noted. 
Yes, "edge.width= E(.)$weight" makes definitively sense.

In the following code, which loads the tiff file, I get the following error
tiff("figures/AES_network_bymembership.tiff", width=1000, height=700, res=120)
Warning message:
In doTryCatch(return(expr), name, parentenv, handler) : Character set family not found in the Windows character set database

--> I am unsure if mySQL is the right solution. I have no experience how to change mySQL.

Kind regards
Sibylle


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()





-----Original Message-----

From: R-help <r-help-bounces using r-project.org> On Behalf Of Kimmo Elo
Sent: Monday, February 26, 2024 8:10 AM
To: r-help using r-project.org
Subject: Re: [R] igraph_vertex


Hi,

a quick additional note: try

"edge.width= E(.)$weight"

instead of the current "edge.width= network". Seems to work and makes a visible difference...

HTH,
Kimmo

su, 2024-02-25 kello 19:11 +0000, Kimmo Elo kirjoitti:
> 
> Hi again,
> 
> your code is still not reproducible without modifications, but I 
> succeed in getting the data straight. All read.csv-command are missing 
> 'sep="\t"', it is need to read you tsv-data.
> 
> And it could be more reproducible if you used e.g.
> 
> --- snip ---
> aes<-read.csv(text="    A.A     B.B     C.C     D.D     E.E     F.F 
> A.A     0       0       5       5       5       5 B.B     4       0       
> 1       1       1       1 C.C     5       5       0       5       4       
> 2 D.D     5       0       5       0       5       3 E.E     5       1       
> 5       5       0       4 F.F     1       2       3       4       5       
> 5", sep="\t", row.names = 1)
> --- snip ---
> 
> This would save us from unnecessary copy-pasting :-)
> 
> However, the error is still the same I mentioned in my first reply,
> i.e.:
> 
> 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,
> HERE -->    edge.width= network,  <-- HERE
>     layout=layout_with_mds(.))
> 
> Try to comment out his line and see what happens. What network data 
> variable should be mapped to edge width?
> 
> Best,
> Kimmo
> 
> su, 2024-02-25 kello 09:59 +0100, sibylle.stoeckli using gmx.ch kirjoitti:
> > Dear coummunity
> > 
> > Thanks a lot to David and Kimmo. Yes I see now that I need to 
> > provide the two raw tables. Find here the reproducible example.
> > 
> > Kind regards
> > Sibylle
> > 
> > # R-labraries
> > library(circlize)
> > library(ggplot2)
> > library(igraph)
> > library(tidyverse)
> > library(RColorBrewer)
> > library(stringi)
> > library(scico)
> > library(plotly)
> > library(ggraph)
> > 
> > 
> > # Tables
> > aes<-read.csv("Test_adjac.csv", row.names = 1)
> > details<-read.csv("Test_cat.csv")
> > 
> > # Edge table, reorganisation
> > aes_collapsed<-aes %>%
> >   rownames_to_column(var='Names') %>%
> >   tidyr::gather(target, weight, 1:ncol(aes)+1) %>%
> >   dplyr::filter(weight != 0) %>%
> >   mutate(weight = ifelse(weight == "-1", 0, weight)) # here 0 = 
> > negative values
> > 
> > write.csv(aes_collapsed, "edges_table_Test.csv", row.names = F)
> > edge_list<-read.csv("edges_table_Test.csv")
> > 
> > # Network attributes
> > 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
> > Error in intI(i, n = x using Dim[1], dn[[1]], give.dn = FALSE) : 
> >   Index größer als maximales 6
> > 
> > # Test_adjac.csv
> >         A.A     B.B     C.C     D.D     E.E     F.F A.A     0       
> > 0       5       5       5       5 B.B     4       0       1       1       
> > 1       1 C.C     5       5       0       5       4       2 D.D     
> > 5       0       5       0       5       3 E.E     5       1       5       
> > 5       0       4 F.F     1       2       3       4       5       5
> > 
> > # Test_cat.csv
> > Names   corresponding-
> > NCP       Category        Subcategory_type        sources.cyto    s 
> > ou rce  Factor A.A     7       hydrologic attribute            "A"     
> > A       1 B.B     6, 11   hydrologic attribute            "B"     B       
> > 1 C.C     1, 14, 15, 16, 17,
> > 18   AES     intrinsic       "C"     C       0 D.D     1, 14, 15, 
> > 16, 17,
> > 18   AES     intrinsic       "D"     D       0 E.E     1, 14, 15, 
> > 16, 17,
> > 18   AES     intrinsic       "E"     E       0 F.F     7       AES     
> > material        "F"     F       0
> > 
> > 
> > # edges_tables_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
> > 
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see 
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list