9 votos

R o Python para economista/estratega del sector privado

Pregunta rápida (pero respuesta compleja): ¿R o Python?

Trabajo como economista/estratega en la industria financiera. Como hago muchas presentaciones, escribo notas, busco datos, mi tiempo de programación es limitado, pero intentamos desarrollar "modelos a pequeña escala" para responder preguntas económicas/financieras. Así que principalmente hago cosas estándar como PCA/modelos de factores SVAR con restricciones de signo, VECM... Suelo utilizar las herramientas que mejor se adapten al trabajo (si encuentro códigos de replicación, puedo adaptarlos, por ejemplo), así que suelo usar MATLAB para los SVAR y análisis de factores, Eviews para cosas rápidas y sucias...

Ahora, estoy mirando Python y R (con los que experimenté hace algunos años). Python es más amplio y podría usarlo para otras cosas (como automatizar cosas aburridas con una computadora o un iPad), pero parece que hay menos paquetes puros de econometría que en R (por ejemplo, no encontré nada para SVAR con restricciones de signo). También estoy buscando extraer datos de la web, y aunque ambos parecen capaces de hacerlo, ¿Python parece más adecuado, verdad?

Sé que siempre existe la posibilidad de llamar uno desde el otro (con algo como Rpy), pero luego tendrías que aprender ambos lenguajes. ¿Alguna recomendación?

¡Gracias!

2 votos

La respuesta correcta es "sí".

16voto

Matthias Benkard Puntos 11264

Si ya sabes cómo programar en MATLAB, entonces Python es más similar a éste que R, por lo que diría que tendrás un tiempo más fácil para hacer la transición allí.

De lo contrario, tanto R como Python son lenguajes de programación, por lo que podrás hacer todas esas cosas en ambos ya que siempre puedes programar tus propias funciones.

La fortaleza de R es que el lenguaje tiene una gran seguimiento en la comunidad de investigación, lo que significa que la gente escribe muchos paquetes que se centran exactamente en los modelos que se usan comúnmente en la investigación. Durante más de dos décadas, académicos y estadísticos básicamente ayudaron a desarrollar R, por lo que ahora puedes encontrar bibliotecas para cualquier cosa allí, excepto para las técnicas econométricas más avanzadas; y puedes apostar que el primer lugar donde se encontrarán esos paquetes será R. Para la mayoría de las cosas que describes en tu publicación, tendrás algunas excelentes bibliotecas y será relativamente más fácil de estimar con R que con Python.

Python es más un lenguaje de programación de propósito general cuya fortaleza es su sintaxis muy intuitiva. Escribir en Python a veces puede sentirse como escribir en pseudocódigo, es muy intuitivo y natural. Sin embargo, como es un lenguaje de propósito general, no está tan adaptado al análisis estadístico como R. Definitivamente podrás hacer todo lo que quieras hacer allí, pero el análisis estadístico más rutinario será un poco más laborioso de codificar.

Yo personalmente prefiero usar R para cualquier análisis estadístico estándar y Python para análisis numérico, aprendizaje automático y la extracción de datos a través del web scraping.

1 votos

Habiendo aprendido algo de Matlab después de haber trabajado mucho con R y menos con Python, no estoy de acuerdo en que Matlab sea más similar a Python que a R. Matlab y R tienen en común operaciones vectorizadas, lo que hace que la programación en ambos sea muy similar, al menos al programar algoritmos simples de análisis numérico. Sin embargo, cada persona puede tener una experiencia diferente.

6voto

ohit Puntos 29

Me gustaría añadir algo al post anterior de 1muflon1. Estoy totalmente de acuerdo con el post y trataré de no repetir nada dicho, pero siento que hay información adicional que vale la pena mencionar sobre tanto R como Python.

Cuando se trata de bucles

Python es más rápido que R cuando el número de iteraciones es menor a 1000. Por debajo de 100 pasos, Python es hasta 8 veces más rápido que R. Sin embargo, cuando se utiliza la función lappy de R, R será más rápido. El lenguaje de programación R ha evolucionado con el tiempo.
https://datascienceplus.com/loops-in-r-and-python-who-is-faster/

Visualización de datos y mapas

R proporciona algunos paquetes básicos que vienen instalados por defecto. Esto incluye el paquete graphics, que contiene alrededor de 100 funciones para crear gráficos tradicionales. Estas funciones muy simples te permitirán crear rápidamente gráficos de dispersión, boxplots e histogramas. Esto es útil para una exploración rápida de datos.

A diferencia de R, Python no incluye herramientas de visualización de datos por defecto. Sin embargo, Python también proporciona muchas bibliotecas como Matplotlib y Seaborn para este propósito. Python ofrece ahora numerosos paquetes que son equivalentes al ggplot2 de R. La biblioteca más comúnmente utilizada para la visualización de datos en Python es Matplotlib.

Mapas geoespaciales

Cuando se trata de mapas geoespaciales, R es el software a utilizar. En cuanto a las capacidades de mapeo con Python, están un poco limitadas. Sin embargo, el código de Python se utiliza para qgis y arcmap. Puede ser muy poderoso, pero necesitas realmente, realmente conocer el código y lo que estás haciendo para poder aprovecharlo.

Al final del día ambos software son buenos, pero te invito a hacerte estas preguntas antes de empezar.

  1. ¿Qué problemas quieres resolver y qué tareas necesitas realizar?
  2. ¿Cuáles son las herramientas comúnmente utilizadas en tu campo?
  3. ¿Qué lenguaje están utilizando tus colegas?

2 votos

Usar data.table de R para trabajar con conjuntos de datos grandes también te permite avanzar mucho en términos de velocidad/eficiencia.

1 votos

El artículo de referencia al que enlazas adolece de programación deficiente. La velocidad de R es sensible a la preasignación de memoria (al igual que cualquier otro lenguaje). Simplemente preasignando el vec del resultado (como se hace implícitamente con lapply()) se obtendrá un aumento inmenso de velocidad. No estoy seguro de cómo se realiza esto en Python.

2 votos

Algunos benchmarks de procesamiento de datos reproducibles y actualizados regularmente para R, Python y otros: h2oai.github.io/db-benchmark

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X