[R] igraph_vertex

sibyiie@stoeckii m@iii@g oii gmx@ch sibyiie@stoeckii m@iii@g oii gmx@ch
Sun Feb 25 09:59:25 CET 2024


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	source	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



More information about the R-help mailing list