library(igraph)
你的数据
x <- read.table(header=T, stringsAsFactors=FALSE, text='id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11
id1 1 0.473684 0.578947 0.368421 0.438596 0.438596 0.175439 0.403509 0.403509 0.245614 0.175439
id2 0.473684 1 0.44898 0.236842 0.347826 0.347826 0.157895 0.384615 0.36 0.236842 0.210526
id3 0.578947 0.44898 1 0.22449 0.469388 0.510204 0.244898 0.403846 0.58 0.204082 0.22449
id4 0.368421 0.236842 0.22449 1 0.26087 0.217391 0.24 0.211538 0.24 0.32 0.24
id5 0.438596 0.347826 0.469388 0.26087 1 0.73913 0.282609 0.576923 0.3 0.282609 0.043478
id6 0.438596 0.347826 0.510204 0.217391 0.73913 1 0.304348 0.653846 0.36 0.23913 0.086957
id7 0.175439 0.157895 0.244898 0.24 0.282609 0.304348 1 0.25 0.16 0.217391 0.052632
id8 0.403509 0.384615 0.403846 0.211538 0.576923 0.653846 0.25 1 0.442308 0.211538 0.173077
id9 0.403509 0.36 0.58 0.24 0.3 0.36 0.16 0.442308 1 0.22 0.34
id10 0.245614 0.236842 0.204082 0.32 0.282609 0.23913 0.217391 0.211538 0.22 1 0.217391
id11 0.175439 0.210526 0.22449 0.24 0.043478 0.086957 0.052632 0.173077 0.34 0.217391 0.12')
转换成矩阵
y <- as.matrix(x)
设置图形对象
g <- graph_from_adjacency_matrix(y, mode = "upper", weighted = T, diag = F)
删除低于 0.6 的边
g2 <- delete.edges(g, which(E(g)$weight <0.6))
绘制边缘高于 0.6 的图形
plot(g2)