2

我有一个 numpy 二维数组 self.sub,我想在 rpy2 kmeans 中使用它。k = robjects.r.kmeans(self.sub,2,20) 我总是收到以下错误: valueError: 目前该类型无能为力!我能做些什么?

4

1 回答 1

5

从 rpy2 docs来看,R 矩阵只是带有 dim 属性集的向量。所以对于一个 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 ,然后你就不需要转置了。

于 2012-04-05T23:13:36.567 回答