【问题标题】:Self-made Distance Matrix in RR中的自制距离矩阵
【发布时间】:2014-03-10 14:23:17
【问题描述】:

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

Origin = c(10001,10001,10002,10002,20001,20001)
Destin = c(10002,20001,10001,20001,10001,10002) 

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

maxSlope = c(0.47, 0.12, 0.47, 0.32,0.12,0.32)

现在我想要一个如下所示的表格:

NaN   10001 10002 20001
10001 NaN   0.47  0.12
10002 0.47  NaN   0.32
20001 0.12  0.32  NaN

我实际上不在乎用什么值代替“NaN”。

我对 R 很陌生。有人有一个很好的解决方案吗? 问候, 西门

【问题讨论】:

    标签: r matrix distance


    【解决方案1】:

    你可以使用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
    

    【讨论】:

    • 但是,它会插入以前不存在的值。在示例中,这将导致添加诸如 10003、10004、...、10010、20000 之类的值,然后继续添加 20001。这些值处的距离始终为零。您对此有什么建议吗?
    • 听起来这些变量是factors。要么对它们使用as.character,要么重构它们。
    猜你喜欢
    • 2022-01-12
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 2013-06-20
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多