Domanda

Ho un NumPy 2D matrice self.sub e voglio utilizzare in Kmeans rpy2. k = robjects.r.kmeans (self.sub, 2,20) Ho sempre trovato il seguente errore: ValueError: nulla può essere fatto per il tipo in questo momento! cosa posso fare?

È stato utile?

Soluzione

Dal rpy2 documenti , matrici R sono soli vettori con il set di attributi dim. Così, per un NumPy matrice bidimensionale 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)

Si deve trasporre la matrice NumPy perché R riempie matrici da colonne.

Modifica:. In realtà, si può solo impostare byrow = True nella funzione di matrice R, e quindi non avrebbe bisogno di trasporre

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top