创建从中心到样本点的成对距离矩阵
Create a pairwise distance matrix from the centre to sample points
我在下面的矩阵中有 5 个样本 (mydf
)。中心到样本之间的欧氏距离由距离列给出。如何在样本距离的成对组合(例如,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
samples Distance
A 0.03994220
B 0.03704120
C 0.03580851
D 0.04404073
E 0.04350807
这就是你想要的吗?
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
我在下面的矩阵中有 5 个样本 (mydf
)。中心到样本之间的欧氏距离由距离列给出。如何在样本距离的成对组合(例如,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
samples Distance
A 0.03994220
B 0.03704120
C 0.03580851
D 0.04404073
E 0.04350807
这就是你想要的吗?
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