1

我在 numpy/scipy 中有以下定制的 NxN 距离矩阵:

dist_matrix =    array([array([5, 4, 2, 3, 2, 3]),
                        array([4, 5, 2, 3, 2, 2]), 
                        array([2, 2, 5, 2, 2, 1]), 
                        array([3, 3, 2, 5, 4, 2]), 
                        array([2, 2, 2, 4, 5, 1]), 
                        array([3, 2, 1, 2, 1, 5])])

如何使用此矩阵在 R / ggplot2 中进行层次聚类和绘制树状图?如果我尝试通过 rpy2 将此距离矩阵输入 R:

r.hclust(dist_matrix)

我得到错误:

   res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in if (is.na(n) || n > 65536L) stop("size cannot be NA nor exceed 65536") : 
  missing value where TRUE/FALSE needed
4

1 回答 1

1

R 函数hclust()采用“距离”对象:

from rpy2.robjects.packages import importr
stats = importr("stats")
d = stats.as_dist(m)
hc = r.hclust(d)

[注意:错误消息还暗示了 rpy2 中可能存在的转换错误。您可以提交错误报告吗?谢谢]

于 2013-04-11T09:10:23.110 回答