使用r中距离的data.frame创建“不均匀”距离矩阵

时间:2012-08-23 14:32:31

标签: r matrix dataframe distance

我有一个数据帧距离,我想用它来创建热图。为此,我必须首先从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"))

感谢您就此事提出任何建议

0 个答案:

没有答案