我有一个 numpy 二维数组 self.sub,我想在 rpy2 kmeans 中使用它。k = robjects.r.kmeans(self.sub,2,20) 我总是收到以下错误: valueError: 目前该类型无能为力!我能做些什么?
问问题
2318 次
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 回答