R中的自制距离矩阵

sim*_*oet 2 r distance matrix

我想基于表示点ID的两列和表示"距离"的列创建距离矩阵.距离实际上是归一化的最大斜率值,所以基本上我想要在两点之间的最大斜率上的距离矩阵.每个连接都有一行,看起来像这样:

Origin = c(10001,10001,10002,10002,20001,20001)
Destin = c(10002,20001,10001,20001,10001,10002) 
Run Code Online (Sandbox Code Playgroud)

和具有最大斜率值的第三个向量:

maxSlope = c(0.47, 0.12, 0.47, 0.32,0.12,0.32)
Run Code Online (Sandbox Code Playgroud)

现在我想有一个看起来像这样的表:

NaN   10001 10002 20001
10001 NaN   0.47  0.12
10002 0.47  NaN   0.32
20001 0.12  0.32  NaN
Run Code Online (Sandbox Code Playgroud)

我实际上并不关心"NaN"中的值是什么.

我对R很新.有没有人有这样做的好解决方案?问候,simoet

Jam*_*mes 5

你可以使用xtabs:

xtabs(maxSlope~Origin+Destin)
       Destin
Origin  10001 10002 20001
  10001  0.00  0.47  0.12
  10002  0.47  0.00  0.32
  20001  0.12  0.32  0.00
Run Code Online (Sandbox Code Playgroud)