全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2160 4
2016-10-17
各位前辈,我有一列数值,请问如何对这列数值进行两两比较计算距离,得出相似度矩阵?
距离采用dist就行,我用了apply没得到想要的结果,求指教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-10-17 20:05:55
your vector is a: then simply
a %*% t(a)  

You can get cosine similarity based on this.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-17 21:17:00
vector 格式一列数据,转化成 data.frame 格式,再用 dist 函数,即可!!如下所示:
x<-seq(1,10,by=1)
x
[1]  1  2  3  4  5  6  7  8  9 10
x<-data.frame(x=x)
str(x)
'data.frame':   10 obs. of  1 variable:
$ x: num  1 2 3 4 5 6 7 8 9 10
y<-dist(x)
str(y)
Class 'dist'  atomic [1:45] 1 2 3 4 5 6 7 8 9 1 ...
  ..- attr(*, "Size")= int 10
  ..- attr(*, "Diag")= logi FALSE
  ..- attr(*, "Upper")= logi FALSE
  ..- attr(*, "method")= chr "euclidean"
  ..- attr(*, "call")= language dist(x = x)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-17 21:17:55
dist(x)
   1 2 3 4 5 6 7 8 9
2  1               
3  2 1              
4  3 2 1            
5  4 3 2 1         
6  5 4 3 2 1        
7  6 5 4 3 2 1      
8  7 6 5 4 3 2 1   
9  8 7 6 5 4 3 2 1  
10 9 8 7 6 5 4 3 2 1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-18 14:57:21
多谢二位,对于数值型可以,dist返回的是矩阵。但是对于字符型的数据该如何解决?
比如我有中文字符属性,可以用字符串相似度求两个字符串的相似度。而对于很多数据,如何形成字符串两两比较的结果?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群