将 numpy 数组转换为矩阵 rpy2、Kmeans

2023-12-22

我有一个 numpy 2D 数组 self.sub 我想在 rpy2 kmeans 中使用它。 k = robjects.r.kmeans(self.sub,2,20) 我总是收到以下错误: valueError:目前无法对该类型执行任何操作! 我能做些什么?


来自 rpy2docs http://rpy.sourceforge.net/rpy2/doc-2.1/html/robjects.html#matrix, R 矩阵只是具有暗属性集的向量。所以对于 numpy 二维数组 x

import rpy2.robjects as robj

nr, nc = x.shape
xvec = robj.FloatVector(x.transpose().reshape((x.size))
xr = robj.r.matrix(xvec, nrow=nr, ncol=nc)

您必须转置 numpy 数组,因为 R 按列填充矩阵。

编辑:实际上,您可以在 R 矩阵函数中设置 byrow=True ,然后就不需要转置了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 numpy 数组转换为矩阵 rpy2、Kmeans 的相关文章

随机推荐