回覆列表
  • 1 # 夏夏夏ab

    1、開啟R軟體,輸入資料,生成距離結構。這裡設樣本資料為1,2,3,7,8,9,15。輸入程式碼:x=c(1,2,3,7,8,9,15);dim(x)=c(7,1);d=dist(x)其中x是生成向量,dim表示定義向量的維數,dist表示生成距離矩陣。

    2、生成系統聚類。輸入程式碼:hc1=hclust(d,"single");hc2=hclust(d,"complete");hc3=hclust(d,"median");hc4=hclust(d,"average");其中hclust表示系統聚類計算函式,single、complete、median、average分別表示最短距離法、最長距離法、中間距離法、類平均法這四類計算方法。

    3、繪製出聚類圖形。利用plot函式繪製出最短距離法計算的聚類圖。程式碼:plot(hc1)

    4、為了方便比較各聚類方法的效果,可以將不同方法的圖繪製在一張圖上。輸入程式碼:opar=par(mfrow=c(2,2))plot(hc1,hang=-1);plot(hc2,hang=-1);plot(hc3,hang=-1);plot(hc4,hang=-1);par(opar)其中par為繪圖引數函式。mfrow為設定小圖數量的引數,mfrow=c(2,2)表示把圖按行排列成2×2個小圖。畫出的圖形見下圖。

    5、從圖中可以看出聚類的結果為第1,2,3個值為一類,4,5,6個值為一類,第七個值為一類。共分為三類。如果想自動設定分類個數,可以利用函式rect.hclust。plot(hc1);re=rect.hclust(hc1,k=2)表示將聚類圖分為兩類。

  • 中秋節和大豐收的關聯?
  • 一天當中什麼時候抓螃蟹好?