我有一个数据帧距离,我想用它来创建热图。为此,我必须首先从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"))
感谢您就此事提出任何建议