【发布时间】:2011-06-03 08:04:14
【问题描述】:
我有一个 numpy 二维数组 self.sub 我想在 rpy2 kmeans 中使用它。 k = robjects.r.kmeans(self.sub,2,20) 我总是收到以下错误: valueError: 目前该类型无能为力! 我该怎么办?
【问题讨论】:
标签: rpy2
我有一个 numpy 二维数组 self.sub 我想在 rpy2 kmeans 中使用它。 k = robjects.r.kmeans(self.sub,2,20) 我总是收到以下错误: valueError: 目前该类型无能为力! 我该怎么办?
【问题讨论】:
标签: rpy2
从 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,然后就不需要转置了。
【讨论】: