亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解R語言做網絡圖的分析

發布時間:2021-11-22 14:49:01 來源:億速云 閱讀:613 作者:柒染 欄目:大數據

如何理解R語言做網絡圖的分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

 使用R語言包ggraph做網絡圖需要準備的最基本的數據是:

1、一個包括一列數據的數據框,每一行是各個節點的名稱 

2、一個包含兩列數據的數據框,每一行代表節點節點之間的連線

 比如一個有四個節點的網絡,每個節點是A,B,C,D。兩兩節點互相連接。數據的樣子:
> nodes<-data.frame(node=c("A","B","C","D"))
> edges<-data.frame(node1=c("A","A","A","B","B","C"),
+                   node2=c("B","C","D","C","D","D"))
> nodes
 node
1    A
2    B
3    C
4    D
> edges
 node1 node2
1     A     B
2     A     C
3     A     D
4     B     C
5     B     D
6     C     D
>
   接下來對這個網絡進行可視化
library(ggraph)
library(igraph)
net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
 geom_edge_link()+
 geom_node_point()
 
如何理解R語言做網絡圖的分析  
image.png
 接下來我想給節點分組,不同組節點填充不同的顏色;按照自己的數值給節點大小;每條連線也可以分配粗細和顏色。這些信息都可以在構造數據的時候添加進去。

給節點添加一列分組信息,給每個節點一個數值,用來映射節點大小。

nodes$Group<-c("group_1","group_1","group_2","group_2")
nodes$Size<-c(5,15,10,18)
nodes$Name<-nodes$node
 

給每條邊添加顏色和粗細的映射數值

edges$color<-sample(seq(0,1,by=0.01),6)
edges$width<-sample(1:100,6)
   基本圖形如下
net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
 geom_edge_link(aes(edge_width=width,edge_color=color))+
 geom_node_point(aes(size=Size,color=Group))+
 geom_node_text(aes(label=Name))
 
如何理解R語言做網絡圖的分析  
image.png
 接下來設置一下細節美化

邊的漸變色深藍到淺藍不太好看,換!加上語句

scale_edge_color_continuous(low = "cyan",high = "red")

ggraph(net)+
 geom_edge_link(aes(edge_width=width,edge_color=color))+
 geom_node_point(aes(size=Size,color=Group))+
 geom_node_text(aes(label=Name))+
 scale_edge_color_continuous(low = "cyan",high = "red")
 

如何理解R語言做網絡圖的分析每個節點的點太小了,增大!加上語句

scale_size_area(max_size = 30)

ggraph(net)+
 geom_edge_link(aes(edge_width=width,edge_color=color))+
 geom_node_point(aes(size=Size,color=Group))+
 geom_node_text(aes(label=Name))+
 scale_edge_color_continuous(low = "cyan",high = "red")+
 scale_size_area(max_size = 30)
 

如何理解R語言做網絡圖的分析點的圖例太大了,占了其他圖例的位置,不要他了!加上語句

guides(size=F)

ggraph(net)+
 geom_edge_link(aes(edge_width=width,edge_color=color))+
 geom_node_point(aes(size=Size,color=Group))+
 geom_node_text(aes(label=Name))+
 scale_edge_color_continuous(low = "cyan",high = "red")+
 scale_size_area(max_size = 30)+
 guides(size=F)
 
如何理解R語言做網絡圖的分析  
image.png

這里遇到一個問題是:有沒有辦法改變圖例中點的大小呢?

新學到的:還可以改變圖例的前后順序,添加語句

guides(color=guide_legend(order=3))

ggraph(net)+
 geom_edge_link(aes(edge_width=width,edge_color=color))+
 geom_node_point(aes(size=Size,color=Group))+
 geom_node_text(aes(label=Name))+
 scale_edge_color_continuous(low = "cyan",high = "red")+
 scale_size_area(max_size = 30)+
 guides(size=F)+
 guides(color=guide_legend(order=3))
 

如何理解R語言做網絡圖的分析雖然點大小的圖例刪掉了,但是他應該還是站著位置呢!如果想要把顏色圖例設置為最后可能得把order設置為4。 

有的節點超出了繪圖邊界,可以通過修改x和y軸的范圍來調整,加上命令

theme_bw()就可以顯示出坐標軸的范圍

ggraph(net)+
 geom_edge_link(aes(edge_width=width,edge_color=color))+
 geom_node_point(aes(size=Size,color=Group))+
 geom_node_text(aes(label=Name))+
 scale_edge_color_continuous(low = "cyan",high = "red")+
 scale_size_area(max_size = 30)+
 guides(size=F)+
 guides(color=guide_legend(order=3))+
 theme_bw()+
 xlim(-0.8,0.8)+ylim(-0.8,0.8)
 
如何理解R語言做網絡圖的分析    

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宽城| 赤城县| 崇义县| 楚雄市| 平凉市| 泸西县| 丹巴县| 龙川县| 万荣县| 华亭县| 沛县| 乌拉特后旗| 麻江县| 通化县| 全州县| 玉环县| 中方县| 和静县| 巩留县| 吕梁市| 盘锦市| 天长市| 上饶县| 博兴县| 驻马店市| 沂水县| 景德镇市| 甘南县| 明光市| 石楼县| 乌苏市| 广东省| 衢州市| 视频| 麟游县| 即墨市| 溧阳市| 安康市| 南康市| 天祝| 葫芦岛市|