将存在/不存在矩阵转换为距离矩阵

时间:2018-01-16 11:58:35

标签: python r matrix

因为我不想使用存在/不存在矩阵绘制树形图,所以我必须获得距离矩阵。 使用它我可以定义一些阈值来绘制一些数字。

存在/缺席矩阵:

Names   A   B   C   D   E   F   G   H   I
name1   1   1   0   1   1   1   1   1   0
name2   0   1   0   1   0   1   0   1   0
name3   1   0   0   1   1   0   1   1   0
name4   1   1   0   1   0   1   0   0   0
name5   0   1   0   1   1   0   1   1   0

我希望将它转换为这样的距离矩阵: 这些值与现实不符(这就是我在这里的原因)。

        name1   name2   name3   name4   name5
name1   1.00    0.52    0.48    0.37    0.26
name2   0.52    1.00    0.47    0.21    0.93
name3   0.48    0.47    1.00    0.12    0.97
name4   0.37    0.21    0.12    1.00    0.86
name5   0.26    0.93    0.97    0.86    1.00

作为对这个问题的建议,我提出了我找到并包含在答案中的解决方案。

1 个答案:

答案 0 :(得分:0)

为了解决这个问题,我找到了答案。

data = read.table("my_binary_file", sep="\t", header=T, row.names=1)
d = dist(data, method = "binary")
hc = hclust(d, method="complete")
write.table(as.matrix(d), file="dist_matrix.txt")

抱歉打扰一无所获。