全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7015 3
2015-09-19
悬赏 20 个论坛币 未解决
计算矩阵的元素之间的距离
X=(x1,x2,x3,x4,....,xn),,且
x1=(x11,x12)
x2=(x21,x22)
x3=(x31,x32)
x4=(x41,x42)
.......
xn=(xn1,xn2)

现计算一个矩阵D=(dij)nxn 其中 dij=d(xi,xj)#欧式距离
我用for循环太慢,请问大神有没有优化的程序?谢谢

x <- matrix(rnorm(1000), ncol = 2)
x
n=dim(x)[1]
D=matrix(0,n,n)
for(i in 1:n){
  for(j in 1:n){
    D[i,j]=dist(x=rbind(x[i,],x[j,]))

  }
}






二维码

扫码加我 拉你入群

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

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

全部回复
2015-9-20 12:48:18
dist函数直接计算所有行之间的距离,如果计算列之间距离,转置一下就好
dist(t(data))
二维码

扫码加我 拉你入群

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

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

2015-9-20 14:14:58
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

2015-9-20 14:16:35
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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