Question

I ai un tableau 2D numpy self.sub et je veux l'utiliser dans kmeans de rpy2. k = robjects.r.kmeans (self.sub, 2,20) je reçois toujours l'erreur suivante: ValueError: rien ne peut être fait pour le type au moment! Que puis-je faire?

Était-ce utile?

La solution

De la rpy2 docs , les matrices R sont seulement des vecteurs avec leur jeu d'attributs faible. Donc, pour un tableau à deux dimensions 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)

Vous devez transposer le tableau de numpy car R remplit des matrices par des colonnes.

Edit:. En fait, vous pouvez simplement mettre byrow = True dans la fonction de matrice R, et alors vous ne serait pas nécessaire de transposer

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top