[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