convertir tableau numpy à la matrice rpy2, Kmeans
-
15-10-2019 - |
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?
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