从中心到采样点创建成对距离矩阵

时间:2016-04-15 11:47:03

标签: r euclidean-distance

我在下面的矩阵中有5个样本( samples Distance A 0.03994220 B 0.03704120 C 0.03580851 D 0.04404073 E 0.04350807 )。中心与样本之间的欧氏距离由距离列给出。如何在与中心相交的样本距离(例如,A:A,A:B,A:C ...... E:E)的成对组合之间形成关系矩阵。所以我需要计算从A到中心到A(A:A)的欧氏距离,然后是A到中心到B(A:B),依此类推。例如,从A到中心到A的距离是(0.03994220 + 0.03994220),然后A到B是(0.03994220 + 0.03704120),依此类推。

是myDF

autocomplete="off"

1 个答案:

答案 0 :(得分:1)

这就是你想要的吗?

df1 <- as.data.frame(outer(df$Distance,df$Distance, '+'))
df1
#          V1         V2         V3         V4         V5
#1 0.07988440 0.07698340 0.07575071 0.08398293 0.08345027
#2 0.07698340 0.07408240 0.07284971 0.08108193 0.08054927
#3 0.07575071 0.07284971 0.07161702 0.07984924 0.07931658
#4 0.08398293 0.08108193 0.07984924 0.08808146 0.08754880
#5 0.08345027 0.08054927 0.07931658 0.08754880 0.08701614