【发布时间】:2014-10-27 13:40:08
【问题描述】:
我有一个 data.frame(质心),其中包含虚拟 3D 空间中的点(列 = AV、V 和 A),每个点代表一个字符(列 = 字符)。每行包含一个不同的字符。
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 的字符向量。这些小的语法细节很重要。 -
@RichieCotton 谢谢,我将编辑我的问题以更好地反映我的 data.frame 的结构。我是 R 和 SO 的新用户,对我的问题结构不佳表示歉意。
标签: r euclidean-distance