我有一个data.frame(Centroid),它包含虚拟3D空间中的点(列= AV,V和A),每个点代表一个字符(column = Character)。每行包含不同的字符。
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))
但是没有成功,因为这只是在控制台中给出了一个很大的印记。非常感谢任何帮助。
答案 0 :(得分:2)
以下可能会有所帮助:
AV<-c(37.9,10.87,40.05)
V<-c(1.07,1.14,1.9)
A<-c(0.04,-1.23,-1.1)
centroid = data.frame(A,V,AV)
centroid
A V AV
1 0.04 1.07 37.90
2 -1.23 1.14 10.87
3 -1.10 1.90 40.05
mm = as.matrix(centroid)
mm
A V AV
[1,] 0.04 1.07 37.90
[2,] -1.23 1.14 10.87
[3,] -1.10 1.90 40.05
dist(mm)
1 2
2 27.059909
3 2.571186 29.190185
as.dist(mm)
A V
V -1.23
AV -1.10 1.90
“Character&lt; -c(a,A,b)”
并不清楚你的意思