R构造相似度矩阵
0
我有一列数值,请问如何对这列数值进行两两比较计算距离,得出相似度矩阵?
距离采用dist就行,我用了apply没得到想要的结果,求指教
距离采用dist就行,我用了apply没得到想要的结果,求指教
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
marxsong 2016-10-18 回答
赞同来自: jlogan 、minglianglouis
> x <- matrix(rnorm(5), nrow = 5)
> x
[,1]
[1,] -1.5640913
[2,] 0.1420451
[3,] 0.1818106
[4,] -0.3224677
[5,] 0.2634243
> dist(x, diag = TRUE,upper = TRUE)
1 2 3 4 5
1 0.00000000 1.70613641 1.74590189 1.24162359 1.82751562
2 1.70613641 0.00000000 0.03976548 0.46451283 0.12137921
3 1.74590189 0.03976548 0.00000000 0.50427830 0.08161373
4 1.24162359 0.46451283 0.50427830 0.00000000 0.58589204
5 1.82751562 0.12137921 0.08161373 0.58589204 0.00000000
对于字符型的,可以使用stringdist包里的stringdistmatrix函数
library(stringdist)
d <- stringdistmatrix(c('foo','bar','boo','baz'))
> d
1 2 3
2 3
3 1 2
4 3 1 2
详细可以参考stringdistmatrix函数帮助
https://www.rdocumentation.org ... gdist
jlogan 2016-10-18 回答
赞同来自:
比如我有中文字符属性,可以用字符串相似度求两个字符串的相似度。而对于很多数据,如何形成字符串两两比较的结果?