Pedro Concejero Cerezo
2015-Apr-23 15:51 UTC
[R-es] Usar una matriz sparse desde python a R
Hola erreros Estoy rizando el rizo con esto de las matrices sparse y he encontrado la forma de hacerlo en python, que va rapidísimo. Por tanto tengo una matriz sparse en un objeto python con esta info: <138493x26744 sparse matrix of type '<type 'numpy.int64'> Quiero hacer lo mismo con R pero me he topado con la lentitud de los bucles para rellenar la sparse (también por mi supina ignorancia de los apply y de su versión paralela mcmapply; o la que sea) y tengo prisa. Me pregunto si es posible pasar más o menos directamente de python a R (nada de pasar a texto el objeto, porque eso me lleva al mismo punto de llenar la sparse en R). He probado rPython (gracias Carlos Gil por esta librería!) pero suelta este error raise TypeError(repr(o) + " is not JSON serializable") TypeError: <138493x26744 sparse matrix of type '<type 'numpy.int64'>' with 19761138 stored elements in LInked List format> is not JSON serializable ¿Hay alguna otra posibilidad? Gracias! -- Pedro Concejero BI & Big Data - Internal Exploitation - Telefónica I+D<http://www.tid.es> E-mail: pedro.concejerocerezo en telefonica.com<mailto:pedro.concejerocerezo en telefonica.com> skype: pedro.concejero twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro> linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es> Entusiasta R, me encontraréis aquí gRupo R madRid <http://madrid.r-es.org/> ________________________________ Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it. Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição [[alternative HTML version deleted]]
javier.ruben.marcuzzi en gmail.com
2015-Apr-23 15:55 UTC
[R-es] Usar una matriz sparse desde python a R
Estimado Pedro Concejero Cerezo ¿Qué usa de R para sparse matrix? Me llama la atención que funcione lento, se me ocurre en un error al escribir su código R y no de R en si mismo, aunque puedo estar muy errado. Javier Rubén Marcuzzi Enviado desde Correo de Windows De: pedro.concejerocerezo en telefonica.com Enviado el: ?jueves?, ?23? de ?abril? de ?2015 ?12?:?51? ?p.m. Para: R-help-es en r-project.org Hola erreros Estoy rizando el rizo con esto de las matrices sparse y he encontrado la forma de hacerlo en python, que va rapidísimo. Por tanto tengo una matriz sparse en un objeto python con esta info: <138493x26744 sparse matrix of type '<type 'numpy.int64'> Quiero hacer lo mismo con R pero me he topado con la lentitud de los bucles para rellenar la sparse (también por mi supina ignorancia de los apply y de su versión paralela mcmapply; o la que sea) y tengo prisa. Me pregunto si es posible pasar más o menos directamente de python a R (nada de pasar a texto el objeto, porque eso me lleva al mismo punto de llenar la sparse en R). He probado rPython (gracias Carlos Gil por esta librería!) pero suelta este error raise TypeError(repr(o) + " is not JSON serializable") TypeError: <138493x26744 sparse matrix of type '<type 'numpy.int64'>' with 19761138 stored elements in LInked List format> is not JSON serializable ¿Hay alguna otra posibilidad? Gracias! -- Pedro Concejero BI & Big Data - Internal Exploitation - Telefónica I+D<http://www.tid.es> E-mail: pedro.concejerocerezo en telefonica.com<mailto:pedro.concejerocerezo en telefonica.com> skype: pedro.concejero twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro> linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es> Entusiasta R, me encontraréis aquí gRupo R madRid <http://madrid.r-es.org/> ________________________________ Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it. Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Carlos J. Gil Bellosta
2015-Apr-23 16:00 UTC
[R-es] Usar una matriz sparse desde python a R
Hola, ¿qué tal? Puedes probar a exportar tu objeto "sparse" en Python a alguno de los formatos que acepta el paquete Matrix de R: https://stat.ethz.ch/R-manual/R-devel/library/Matrix/html/externalFormats.html Puedes exportar desde Python como dice en https://docs.scipy.org/doc/scipy/reference/io.html y luego leer el fichero desde R como en el primer enlace. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 23 de abril de 2015, 17:51, Pedro Concejero Cerezo <pedro.concejerocerezo en telefonica.com> escribió:> Hola erreros > Estoy rizando el rizo con esto de las matrices sparse y he encontrado la forma de hacerlo en python, que va rapidísimo. Por tanto tengo una matriz sparse en un objeto python con esta info: > <138493x26744 sparse matrix of type '<type 'numpy.int64'> > > Quiero hacer lo mismo con R pero me he topado con la lentitud de los bucles para rellenar la sparse (también por mi supina ignorancia de los apply y de su versión paralela mcmapply; o la que sea) y tengo prisa. Me pregunto si es posible pasar más o menos directamente de python a R (nada de pasar a texto el objeto, porque eso me lleva al mismo punto de llenar la sparse en R). > > He probado rPython (gracias Carlos Gil por esta librería!) pero suelta este error > raise TypeError(repr(o) + " is not JSON serializable") > TypeError: <138493x26744 sparse matrix of type '<type 'numpy.int64'>' > with 19761138 stored elements in LInked List format> is not JSON serializable > > ¿Hay alguna otra posibilidad? > Gracias! > -- > Pedro Concejero > BI & Big Data - Internal Exploitation - Telefónica I+D<http://www.tid.es> > E-mail: pedro.concejerocerezo en telefonica.com<mailto:pedro.concejerocerezo en telefonica.com> > skype: pedro.concejero > twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro> > linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es> > Entusiasta R, me encontraréis aquí gRupo R madRid <http://madrid.r-es.org/> > > ________________________________ > > Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. > > The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it. > > Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Pedro Concejero Cerezo
2015-Apr-24 14:14 UTC
[R-es] Usar una matriz sparse desde python a R
Carlos, muchísimas gracias! Facilísimo, lo pongo aquí para referencia mía y de otros por si es de interés. - en python import scipy.io scipy.io.mmwrite("v" , V, comment='', field = "integer") - y luego en R v <- readMM("v.mtx" ) #scipy parece añadirle autom. extensión .mtx y ya está! (MM es por MatrixMarket, es el formato que me ha parecido más fácil) Buen fin de semana! Pedro El 23/04/2015 a las 18:00, Carlos J. Gil Bellosta escribió:> Hola, ¿qué tal? > > Puedes probar a exportar tu objeto "sparse" en Python a alguno de los > formatos que acepta el paquete Matrix de R: > > https://stat.ethz.ch/R-manual/R-devel/library/Matrix/html/externalFormats.html > > Puedes exportar desde Python como dice en > > https://docs.scipy.org/doc/scipy/reference/io.html > > y luego leer el fichero desde R como en el primer enlace. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com________________________________ Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it. Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição