daisy
位於 cluster
包(package)。 說明
計算數據集中觀測值之間的所有成對差異(距離)。原始變量可能是混合類型。在這種情況下,或者每當設置 metric = "gower"
時,都會使用高爾公式的推廣,請參閱下麵的“詳細信息”。
用法
daisy(x, metric = c("euclidean", "manhattan", "gower"),
stand = FALSE, type = list(), weights = rep.int(1, p),
warnBin = warnType, warnAsym = warnType, warnConst = warnType,
warnType = TRUE)
參數
x |
比如說,維度為 |
metric |
指定要使用的度量的字符串。當前可用的選項有 “高爾距離”由度量 |
stand |
邏輯標誌:如果為 TRUE,則在計算差異之前對 如果 |
type |
用於指定
每個組件都是一個(字符或數字)向量,包含
|
weights |
長度為 |
warnBin , warnAsym , warnConst |
邏輯指示是否應發出相應類型檢查警告信號(當發現時)。 |
warnType |
邏輯指示所有類型檢查警告是否應處於活動狀態。 |
細節
daisy
的原始版本在 Kaufman 和 Rousseuw (1990) 的第一章中有完整說明。與輸入必須是數值變量的 dist
相比,daisy
的主要特點是它也能夠處理其他變量類型(例如名義變量、有序變量、對稱二進製變量),即使同一數據中出現不同類型放。
名義、序數和(a)對稱二進製數據的處理是通過使用 Gower (1971) 的一般相異係數來實現的。如果 x
包含這些數據類型的任何列,則參數 metric
和 stand
將被忽略,並且將使用高爾係數作為度量。對於純數字數據,也可以通過 metric = "gower"
激活此函數。這樣,每個變量(列)首先通過將每個條目除以相應變量的範圍,然後減去最小值來標準化;因此,重新調整後的變量的範圍恰好是 。
請注意,僅當不存在缺失值時,將類型設置為 symm
(對稱二進製)與使用名義(為無序因子選擇)具有相同的差異,並且效率更高。
請注意,當 2 值數值變量未指定顯式 type
時, daisy
會發出警告,因為參考文獻作者建議考慮使用 "asymm"
;該警告可能會被 warnBin = FALSE
靜音。
在 daisy
算法中,x 行中的缺失值不包含在涉及該行的差異中。主要有兩種情況,
-
如果所有變量都是區間縮放的(並且
metric
不是"gower"
),則度量為 "euclidean", 是第 i 行和第 j 行都沒有 NA 的列數,則相異度 d(i ,j) 返回的是 ( ncol(x)) 乘以長度為 的兩個向量之間的歐幾裏德距離,該長度被縮短以排除 NA。 "manhattan" 指標的規則類似,但係數為 。如果是 ,則差異為 NA。 -
當某些變量的類型不是區間縮放時,或者如果指定了
metric = "gower"
,則兩行之間的差異是每個變量貢獻的加權平均值。具體來說,換句話說,
= weigths[k]
、 為 0 或 1, 為 k-th 變量對總距離是x[i,k]
和x[j,k]
之間的距離,見下文。 是 的加權平均值,權重為 ,其中當變量
x[,k]
在任一行或兩行(i 和 j)中缺失時,或者當變量是非對稱二進製並且兩個值都為零時,0-1 權重 變為零。在所有其他情況下,它都是 1。如果兩個值相等,則名義變量或二元變量對總差異的貢獻
1:K
替換。請注意,這與使用排名不同(因為通常存在平局)。 為 0,否則為 1。其他變量的貢獻是兩個值的絕對差除以該變量的總範圍。請注意, “standard scoring” 應用於序數變量,即它們被整數代碼由於個人貢獻
NA
。 位於 中,因此相異度 將保持在此範圍內。如果所有權重 均為零,則相異度設置為
值
類 "dissimilarity"
的對象,包含 x
行之間的差異。這通常是函數 pam
、 fanny
、 agnes
或 diana
的輸入。有關更多詳細信息,請參閱dissimilarity.object
。
背景
差異被用作聚類分析和多維尺度的輸入。指標的選擇可能會產生很大的影響。
例子
data(agriculture)
## Example 1 in ref:
## Dissimilarities using Euclidean metric and without standardization
d.agr <- daisy(agriculture, metric = "euclidean", stand = FALSE)
d.agr
as.matrix(d.agr)[,"DK"] # via as.matrix.dist(.)
## compare with
as.matrix(daisy(agriculture, metric = "gower"))
data(flower)
## Example 2 in ref
summary(dfl1 <- daisy(flower, type = list(asymm = 3)))
summary(dfl2 <- daisy(flower, type = list(asymm = c(1, 3), ordratio = 7)))
## this failed earlier:
summary(dfl3 <- daisy(flower,
type = list(asymm = c("V1", "V3"), symm= 2,
ordratio= 7, logratio= 8)))
作者
Anja Struyf, Mia Hubert, and Peter and Rousseeuw, for the original
version.
Martin Maechler improved the NA
handling and
type
specification checking, and extended functionality to
metric = "gower"
and the optional weights
argument.
參考
Gower, J. C. (1971) A general coefficient of similarity and some of its properties, Biometrics 27, 857-874.
Kaufman, L. and Rousseeuw, P.J. (1990) Finding Groups in Data: An Introduction to Cluster Analysis. Wiley, New York.
Struyf, A., Hubert, M. and Rousseeuw, P.J. (1997) Integrating Robust Clustering Techniques in S-PLUS, Computational Statistics and Data Analysis 26, 17-37.
也可以看看
相關用法
- R diana 分裂分析聚類
- R summary.clara “clara”對象的摘要方法
- R pluton 鈈同位素成分批次
- R votes.repub 總統選舉中共和黨候選人的投票
- R agnes 凝聚嵌套(層次聚類)
- R print.mona MONA 對象的打印方法
- R print.clara CLARA 對象的打印方法
- R mona 二元變量的單論分析聚類
- R plot.diana 分裂層次聚類圖
- R plot.mona 一元分裂層次聚類的旗幟
- R bannerplot 繪圖橫幅(層次聚類)
- R plot.partition 數據集分區圖
- R summary.agnes “agnes”對象的摘要方法
- R pltree 繪製層次聚類的聚類樹
- R summary.mona “mona”對象的摘要方法
- R plantTraits 植物物種性狀數據
- R plot.agnes 凝聚層次聚類圖
- R print.agnes AGNES 對象的打印方法
- R chorSub Kola 數據 C 範圍的子集
- R pam 圍繞 Medoid 進行分區
- R volume.ellipsoid 計算(橢球體的)體積
- R clusplot (分區對象的)雙變量聚類圖
- R print.pam PAM 對象的打印方法
- R clara 集群大型應用程序
- R agnes.object 聚合嵌套 (AGNES) 對象
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Dissimilarity Matrix Calculation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。