2011-04-13 9 views
9

Estoy usando python y numpy/scipy para hacer expresiones regulares y derivar para una aplicación de procesamiento de texto. Pero también quiero usar algunos de los paquetes estadísticos de R.¿Cómo puedo pasar arreglos grandes entre numpy y R?

¿Cuál es la mejor manera de pasar los datos de python a R? (¿Y de vuelta?)

Además, necesito hacer una copia de seguridad de la matriz en el disco en algún momento, así que estoy abierto a guardar desde python y cargar th R si esa es la mejor solución. Las matrices son bastante grandes (por ejemplo, 100.000 x 10.000), por lo que el uso de matrices dispersas también podría ser agradable.

Disculpa si se trata de un reenvío. No he podido encontrar nada que junte todas estas piezas.

+2

El problema es que la publicación cruzada en diferentes SE no es la forma de hacerlo (aparte del hecho de que no se recomienda). Uno de los propósitos de SE es crear un registro duradero de grandes soluciones a preguntas específicas, a las que se puede acceder desde, p. Google o sitios de referencia. Al duplicar su pregunta, plantea la posibilidad de obtener diferentes buenas respuestas de diferentes sitios, lo cual es bastante bueno, pero ¿cuál de todos aceptaría? Además, como usted no notificó a stats.SE que esto fue publicado de manera cruzada desde SO, simplemente se migró. Ahora, los mods tienen que unirlos a ambos. – chl

+0

fusionado. Como dijo el chl, no publique la misma pregunta en varios sitios en el futuro. –

+1

Mi error. Primero hice esta pregunta sobre la validación cruzada, y me dijeron que funcionaría mejor aquí. Después de publicar aquí, la otra publicación también se migró. Para referencia futura, ¿cómo podría mover la pregunta yo mismo? A veces es difícil decidir qué comunidad es más adecuada para responder una pregunta determinada. – Abe

Respuesta

6
+4

"Las matrices NumPy se guardan mejor utilizando el estándar HDF" ... HDF es genial, pero es exagerado si solo necesita guardar la matriz en el disco de manera eficiente. Para guardar y cargar de manera simple y eficiente las matrices numpy, simplemente use 'numpy.save' y' numpy.load'. Para eso están destinados, y evitan la (enorme) sobrecarga incurrida al encuadrar matrices numpy. Por supuesto, si desea cargar la matriz desde otro idioma, HDF es probablemente una buena ruta. –

+0

@Joe Kington: +1 ¡Buen punto! Gracias. –

2

Uso RPY, http://rpy.sourceforge.net/, R llamar desde Python.

La advertencia es que las versiones R y Python deben ser exactamente para las que se ha construido el binario Rpy. Por lo tanto, debe tener cuidado con la instalación.

+0

Tengo un voto negativo para esta respuesta. ¿Por qué? Debido a mi comentario sobre las versiones? Bueno, creo que es verdad de verdad, y es útil mencionarlo. –

0

No puedo comentar sobre "datos grandes" entre compartida entre R y Python, pero me ha resultado mucho más fácil trabajar con pyRserve que con RPy o RPy2.

Dicho esto, tengo curiosidad acerca del procesamiento de texto que está haciendo? Python, obviamente, tiene mucho que ofrecer en el lado del procesamiento de texto, pero estadísticamente también hay mucho en paquetes como NLTK y Pattern package from CLiPS. ¿Estás más cómodo haciendo estadísticas en R, o hay algo específico que falta en Python?

+0

> ¿Estás más cómodo haciendo estadísticas en R, o hay algo específico que falta en Python? Abe

Cuestiones relacionadas