我有一个numpy 2D阵列self.sub,我想在rpy2 kmeans中使用它。 k = brobjects.r.kmeans(self.sub,2,20),我总是会收到以下错误:valueerror:目前类型什么都没做!我能做些什么?

有帮助吗?

解决方案

从rpy2 文档, ,r矩阵只是具有昏暗属性集的向量。因此,对于二维数组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,然后您无需转置即可。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top