1

我有一个距离数据框,我想用它来创建热图。为此,我必须首先从 data.frame 创建一个距离对象。我的 data.frame 是“不均匀的”,即我将一个站点的 2 个物种与另一个站点的 3 个物种进行比较:

 df<-data.frame("Sp1"=rep(c("a","b","c"),2),"Sp2"=c(rep("d",3),rep("e",3)),"Dist"=1:6)

  Sp1 Sp2 Dist
1   a   d    1
2   b   d    2
3   c   d    3
4   a   e    4
5   b   e    5
6   c   e    6

我已尝试调整先前的答案,但似乎不起作用我的距离矩阵将不均匀,即 3x2 矩阵

 dij2 <- with(df, Dist)

 names <- with(df, unique(c(as.character("Sp1"), as.character("Sp2"))))

 dij3 <- with(df, structure(Dist,
                        Size = length(names),
                        Labels = names,
                        Diag = FALSE,
                        Upper = TRUE,
                       method = "user",
                        class = "dist"))

感谢您对此事的任何建议

4

0 回答 0