convertir gama numpy a Matrix rpy2, Kmeans
-
15-10-2019 - |
Pregunta
Tengo un numpy 2D matriz self.sub y quiero utilizarlo en kmeans rpy2. k = robjects.r.kmeans (self.sub, 2,20) Siempre sale el siguiente error: ValueError: nada se puede hacer para el tipo en el momento! ¿qué puedo hacer?
Solución
Desde el rpy2 docs , matrices R son sólo con su conjunto de vectores de atributos tenue. Así que para una matriz de dos dimensiones 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)
Tienes que transponer la matriz numpy porque R llena matrices por columnas.
Editar:. En realidad, sólo podría establecer byrow = True en la función de matriz R, y entonces no habría necesidad de transponer
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow