Numpy Array in Matrix rpy2, Kmeans konvertieren
-
15-10-2019 - |
Frage
Ich habe ein numpy 2D -Array -Selbst. K = Robjects.r.kmeans (self.sub, 2,20) Ich bekomme immer den folgenden Fehler: ValueError: Im Moment kann für den Typ nichts getan werden! was kann ich machen?
Lösung
Aus dem RPY2 Dokumente, R -Matrizen sind nur Vektoren mit ihrem schwachen Attributsatz. Also für ein numpy zweidimensionales Array 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)
Sie müssen das Numpy -Array übertragen, weil R Matrizen durch Spalten füllt.
Bearbeiten: Eigentlich konnten Sie Byrow = True in der R -Matrixfunktion festlegen, und dann müssten Sie nicht transponieren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow