拓端tecdat|R語言復雜網絡分析:聚類(社區檢測)和可視化


原文鏈接:http://tecdat.cn/?p=18770 

 

為了用R來處理網絡數據,我們使用婚禮數據集。

  1.  
     
  2.  
    > nflo=network(flo,directed=FALSE)
  3.  
    > plot(nflo, displaylabels = TRUE,
  4.  
    + boxed.labels =
  5.  
    + FALSE)

 

下一步是igraph。由於我們有鄰接矩陣,因此可以使用它

  1.  
     
  2.  
    graph_from_adjacency_matrix(flo,
  3.  
    + mode = "undirected")

 

我們可以在兩個特定節點之間獲得最短路徑。我們給節點賦予適當的顏色

  1.  
    all_shortest_paths(iflo,
  2.  
    )
  3.  
     
  4.  
     
  5.  
    > plot(iflo)

 

我們還可以可視化邊,需要從輸出中提取邊緣

  1.  
    > lins=c(paste(as.character(L)[1:4],
  2.  
    + "--"
  3.  
    + as.character(L)[2:5] sep="" ,
  4.  
    + paste(as.character(L) 2:5],
  5.  
    + "--",
  6.  
     
  7.  
    > E(ifl )$color=c("grey","black")[1+EU]
  8.  
    > plot(iflo)

 

也可以使用D3js可視化

  1.  
    > library( networkD3 )
  2.  
    > simpleNetwork (df)

 

下一個問題是向網絡添加一個頂點。最簡單的方法是通過鄰接矩陣實現概率

  1.  
     
  2.  
    > flo2["f","v"]=1
  3.  
    > flo2["v","f"]=1

 

然后,我們進行集中度測量。

 

目的是了解它們之間的關系。

  1.  
    betweenness(ilo)
  2.  
     
  3.  
    > cor(base)
  4.  
    betw close deg eig
  5.  
    betw 1.0000000 0.5763487 0.8333763 0.6737162
  6.  
    close 0.5763487 1.0000000 0.7572778 0.7989789
  7.  
    deg 0.8333763 0.7572778 1.0000000 0.9404647
  8.  
    eig 0.6737162 0.7989789 0.9404647 1.0000000

可以使用層次聚類圖來可視化集中度度量

  1.  
    hclust(dist( ase ,
  2.  
    + method="ward")

 

查看集中度度量的值,查看排名

  1.  
     
  2.  
    > for(i in 1:4) rbase[,i]=rank(base[,i])

 

在此,特征向量測度非常接近頂點的度數。

最后,尋找聚類(以防這些家庭之間爆發戰爭)

> kc <- fastgreedy.community ( iflo )

在這里,我們有3類

 

 


最受歡迎的見解

1.采用spss-modeler的web復雜網絡對所有腧穴進行分析

2.用R語言和python進行社交網絡中的社區檢測

3.R語言文本挖掘NASA數據網絡分析,tf-idf和主題建模

4.在R語言中使用航空公司復雜網絡對疫情進行建模

5.python隸屬關系圖模型 基於模型的網絡中密集重疊社區檢測

6.使用Python和SAS Viya分析社交網絡

7.關聯網絡分析:已遷離北京外來人口的數據畫像

8.情感語義網絡游記數據感知旅游目的地形象

9.用關聯規則數據挖掘探索葯物配伍中的規律


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM