簡體   English   中英

如何計算R中兩個向量之間不同的眾所周知的相似性或距離度量?

[英]How to calculate different well-known similarity or distance measures between two vectors in R?

我想計算兩個向量之間的相似性(距離):

v1 <- c(1, 0.5, 0, 0.1)
v2 <- c(0.7, 1, 0.2, 0.1)

我只是想知道一個包是否可用於計算R中不同的眾所周知的相似性(距離)度量? 例如,“Resnik”,“Lin”,“Rel”,“Jiang”,......

這些方法的實現並不難,但我認為它必須在R中的一些包中定義。

經過一些谷歌搜索后,我發現了一個包含“GOSemSim”的軟件包,其中包含大多數測量,但它特定於生物醫學應用程序,我不能用它們來計算兩個向量之間的相似性。

代理 ”是用於距離和相似性度量的通用庫。 支持以下方法:

“Jaccard”“Kulczynski1”“Kulczynski2”“Mountford”“Fager”“Russel”“簡單匹配”“Hamman”“Faith”
“Tanimoto”“Dice”“Phi”“Stiles”“Michael”“Mozley”“Yule”“Yule2”“Ochiai”
“Simpson”“Braun-Blanquet”“余弦”“eJaccard”“fJaccard”“相關”“卡方”“Phi-squared”“Tschuprow”
“Cramer”“Pearson”“Gower”“Euclidean”“Mahalanobis”“Bhjattacharyya”“Manhattan”“supremum”“Minkowski”
“Canberra”“Wave”“divergence”“Kullback”“Bray”“Soergel”“Levenshtein”“Podani”“Chord”
“Geodesic”“Whittaker”“Hellinger”

請檢查以下示例:

x <- c(1,2,3,4,5)
y <- c(4,5,6,7,8)
l <- list(x, y)
simil(l, method="cosine")

輸出是“l”元素之間的相似性矩陣:

      1
2     0.978232

我遇到的唯一問題是對於某些方法(例如:“Jaccard”),發生以下錯誤:

simil(l, method="Jaccard")
Error in n - d : 'n' is missing

dist函數通過其method參數支持:“euclidean”,“maximum”,“manhattan”,“canberra”,“binary”或“minkowski”。 ?dist

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM