我有一個data.frame(質心),其中包含虛擬三維空間(列= AV,V和A),每個代表一個字符(列=字符)的點。每行包含不同的字符。計算3點的歐幾里德距離
AV<-c(37.9,10.87,40.05)
V<-c(1.07,1.14,1.9)
A<-c(0.04,-1.23,-1.1)
Character<-c("a","A","b")
centroid = data.frame(AV,V,A,Character)
centroid
AV V A Character
1 37.90 1.07 0.04 a
2 10.87 1.14 -1.23 A
3 40.05 1.90 -1.10 b
我想知道每個字符之間的相似性/不相似性。例如,「a」對應於37.9,1.07和0.04,而「A」對應於10.87,1.14,-1.23。我想知道這些角色/ 3點之間的距離。
我相信我可以使用每個字符之間的歐幾里德距離來計算這個值,但我不確定要運行的代碼。
我試圖使用
dist(as.matrix(Centroids))
但並不成功,因爲這只是給在控制檯中大印刷。任何援助將不勝感激。
你需要開始學習如何創建矢量和矩陣,並學習R中的不同數據類型。有一個稱爲「data.frame」的數據結構,但不包含「dataframe」。如果你想要一個數字向量,可以使用'c(37.9,10.87,40.05)'; '「37.9,10.87,40.05」'是長度爲1的字符向量。這些小的語法細節很重要。 – 2014-09-03 06:56:54
@RichieCotton謝謝你,我會編輯我的問題,以更好地反映我的data.frame的結構。我是R和SO的新用戶,對我的問題的糟糕結構表示歉意。 – user2716568 2014-09-03 06:58:44