2011-01-04 7 views
2

私はnumpyの2次元配列self.sub を持っています。それをrpy2 kmeansで使いたいと思います。 k = robjects.r.kmeans(self.sub、2,20) 私はいつも次のエラーを受け取ります: valueError:現時点ではこのタイプのものは何もできません! 私は何ができますか?numpy配列をMatrix rpy2に変換する、Kmeans

答えて

4

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) 

のためにあなたは、Rは、列ごとに行列を埋めるためにnumpyの配列を転置する必要があります。

編集:実際には、R行列関数でbyrow = Trueを設定するだけで、転置する必要はありません。

関連する問題