Stata, R, Mplus y Python para la investigación en ciencias sociales: cómo elegir el software

Original en inglés: Stata, R, Mplus, and Python for Social Science Research: Choosing the Software (publicado el 28 de octubre de 2026)

Los estudiantes me preguntan a menudo qué programa estadístico deberían aprender, generalmente planteado como una disyuntiva entre Stata o R, y últimamente sobre si Python hace innecesarios a los demás. Mi propia respuesta es que utilizo los cuatro, y es el método el que determina cuál de ellos abro. Ello se desprende de la evolución histórica de estos programas: la implementación más avanzada de un método específico suele surgir primero en un programa u otro dependiendo de quién haya desarrollado dicho método. Si usted se está iniciando en los métodos cuantitativos, la guía básica de métodos cuantitativos en la investigación en trabajo social disponible en este sitio aborda los fundamentos previos a la elección de un programa.

Herramientas según la disciplina

En un programa basado en sintaxis, gran parte de lo que realmente puede ejecutarse procede de paquetes elaborados por sus propios usuarios. Esto es menos marcado en Stata, donde StataCorp programa y mantiene la mayor parte de los estimadores centrales, y mucho más evidente en R y Python, donde casi todos los métodos se incorporan mediante paquetes desarrollados por investigadores. Por consiguiente, los paquetes disponibles en un programa dependen de la comunidad científica que lo utiliza, y un criterio útil para decidir consiste en identificar quiénes integran esa comunidad. Ciertos métodos existen en varios programas, mientras que otros están disponibles únicamente en uno.

Stata parece ser el programa predilecto de los economistas, especialmente en econometría y diseños cuasiexperimentales. En los repositorios de replicación de las revistas de la American Economic Association entre 2005 y 2019, aproximadamente dos tercios de los archivos de código correspondían a Stata y cerca del 3 por ciento a R, según un análisis de dicho archivo. Muchos de los estimadores recientes de diferencias en diferencias fueron publicados como comandos de Stata por los propios econometristas que los propusieron, tales como csdid de Fernando Rios-Avila junto con Pedro Sant’Anna y Brantly Callaway, y did_multiplegt_dyn de Clément de Chaisemartin, Xavier D’Haultfœuille y sus colaboradores.

R es utilizado por científicos de datos, así como por psicólogos cuantitativos y psicometras. La sección Psychometrics task view de CRAN, coordinada por Patrick Mair, Yves Rosseel (creador de lavaan) y Kathrin Gruber, recopila más de 240 paquetes orientados a la teoría de respuesta al ítem, análisis factorial, modelos de ecuaciones estructurales y modelos afines. R destaca también en econometría; la Econometrics task view incluye prácticamente los mismos estimadores de diferencias en diferencias que instalan los usuarios de Stata.

Mplus es desarrollado por Muthén & Muthén para el modelado de variables latentes, y sus usuarios son en su mayoría psicometras y otros investigadores especializados en modelos de ecuaciones estructurales. Los modelos de mixturas, el SEM bayesiano y el modelado dinámico de ecuaciones estructurales forman parte de su lista de características. Los métodos concebidos para vincular clases latentes con predictores y variables de resultado distales sin sesgar las clases, correspondientes a los enfoques en tres pasos descritos por Asparouhov y Muthén, se encuentran integrados en Mplus como opciones nativas.

Python es ante todo el lenguaje de los programadores. El aprendizaje automático, el aprendizaje profundo y los modelos de lenguaje se implementan en Python o en R, y las principales bibliotecas orientadas a estos fines, tales como scikit-learn y transformers de Hugging Face, son bibliotecas de Python.

ProgramaPrincipales usuariosFortalezasEjemplos
Economistas y econometristasDiseños cuasiexperimentales, datos de encuestas, descomposicióncsdid, did_multiplegt_dyn, oaxaca, fairlie, firthlogit, svy, margins
Científicos de datos y psicometrasPsicometría, redes, metaanálisis, datos espacialeslavaan, semTools, mirt, ergm, qgraph, bootnet, metafor, brms, sf
Psicometras y metodólogos de SEMModelos de variables latentes y de mixturasThree-step y BCH, SEM bayesiano, SEM dinámico, TYPE=COMPLEX
Programadores e investigadores de aprendizaje automáticoAprendizaje profundo, NLP, LLM, APIscikit-learn, transformers, SDK de Anthropic, OpenAI y Gemini, bibliotecas de cliente de Google API

Programas según el propósito de investigación

  • Investigación en aprendizaje profundo, NLP y LLM. Python Si se propone realizar investigaciones en aprendizaje profundo basado en transformadores, NLP o LLM a través de Hugging Face, requiere aprender programación en Python. Tanto transformers como el Hub client de Hugging Face, junto con los SDK oficiales de las principales API de modelos de lenguaje, son bibliotecas desarrolladas para Python, y tanto la documentación como los ejemplos de código están redactados en Python.
  • Predicción mediante aprendizaje automático. Python R Los bosques aleatorios, el gradiente boosting y la predicción validada por validación cruzada son procedimientos estándar en scikit-learn de Python y cuentan con excelente soporte en R. Stata permite ejecutar algunos de estos modelos, pero la variedad de algoritmos y la documentación son sustancialmente más amplias en Python y R.
  • Efectos de tratamiento heterogéneos y aprendizaje automático causal. R Python Stata El paquete grf de R ajusta bosques causales; en Python, EconML estima efectos de tratamiento promedio condicionales y DoubleML implementa double machine learning (contando también con versión en R); los usuarios de Stata disponen de ddml, documentado en el Stata Journal en 2024.
  • Recopilación de datos a partir de plataformas y servicios web. Python Las bibliotecas cliente oficiales para la mayoría de las API de plataformas, tales como las client libraries for the YouTube Data API de Google, están desarrolladas para Python y otros lenguajes de propósito general, y no para R o Stata.
  • Datos de encuestas con ponderadores, estratos y conglomerados. Stata R El prefijo svy de Stata incorpora los ponderadores de muestreo, estratos y conglomerados en la mayoría de sus estimadores, incluyendo modelos logísticos, multinivel y de conteo, y el comando margins opera tras ellos. El paquete survey de R constituye una alternativa sólida. Python es el menos potente de los tres en este rubro.
  • Modelos multinivel y datos anidados. Stata R Los comandos mixed, melogit y las demás funciones me de Stata, junto con xtgee, permiten modelar estudiantes en escuelas, usuarios en instituciones y medidas repetidas intrasujeto; los paquetes lme4 y glmmTMB de R ajustan las mismas familias de modelos.
  • Diseños cuasiexperimentales y econometría. Stata R En Stata, se emplean csdid y did_multiplegt_dyn para diferencias en diferencias escalonadas, honestdid para análisis de sensibilidad en tendencias paralelas, sdid para diferencias en diferencias sintéticas, reghdfe para múltiples efectos fijos, e ivreg2 para variables instrumentales. En R, destacan fixest y el paquete did; Python ofrece linearmodels para modelos de panel y de variables instrumentales. Varios de estos métodos existen tanto en Stata como en R, y el comando honestdid de Stata es una adaptación del paquete original de R.
  • Descomposición de brechas entre grupos. Stata El comando oaxaca de Ben Jann para la descomposición de Blinder-Oaxaca y fairlie para variables de resultado binarias.
  • Tablas de regresión y gráficos de coeficientes. Stata El paquete estout (esttab) de Ben Jann para tablas y coefplot para gráficos de coeficientes, junto con las herramientas nativas etable y collect integradas en versiones recientes de Stata.
  • Análisis de clases latentes y perfiles latentes. Mplus Mplus, particularmente cuando las clases se vinculan con predictores o variables de resultado distales, dado que los enfoques en tres pasos desarrollados por Asparouhov y Muthén vienen incorporados de forma nativa. Los comandos gsem con lclass() en Stata, poLCA en R y StepMix en Python (que también implementa la estimación en tres pasos) permiten ajustar modelos de clases latentes en los demás programas.
  • Modelos de ecuaciones estructurales y medición. Mplus R Mplus para SEM multinivel, bayesiano y dinámico, con TYPE=COMPLEX para datos de encuestas (feature list); lavaan y semTools en R como alternativas de código abierto, con capacidades para pruebas de invarianza de medida, y mirt para la teoría de respuesta al ítem. Los comandos sem y gsem de Stata contemplan múltiples modelos estándar, mientras que semopy en Python presenta alcances aún limitados en comparación.
  • Análisis de redes. R El paquete ergm, perteneciente al entorno statnet, para modelos de redes estadísticas, y los paquetes qgraph, bootnet y psychonetrics de Sacha Epskamp para el análisis de redes de síntomas o reactivos.
  • Metaanálisis. R Stata El paquete metafor de Wolfgang Viechtbauer en R; el conjunto meta en Stata cubre los procedimientos estándar de metaanálisis.
  • Modelos multinivel bayesianos. R El paquete brms ajusta modelos de regresión bayesiana a través de Stan mediante una sintaxis de fórmulas muy cercana a la de una regresión convencional.
  • Emparejamiento y ponderación. R Stata Los paquetes MatchIt, WeightIt y cobalt de Noah Greifer en R abarcan emparejamiento, ponderadores de balance y diagnósticos de equilibrio; Stata dispone de teffects y del comando de usuario psmatch2.
  • Mapas y datos espaciales. R Python El paquete sf de R con tidycensus, o geopandas en Python.

Python para la estadística

Python es extraordinario en aquello para lo que fue diseñado, pero resulta una opción débil como herramienta estadística principal en ciencias sociales. Sus bibliotecas estadísticas no fueron concebidas en torno a la estimación econométrica, y los modelos de ecuaciones estructurales gozan únicamente de soporte parcial. La biblioteca statsmodels abarca diversos modelos estándar, pero el paquete de análisis de encuestas samplics consigna en su propio repositorio que “ya no recibe mantenimiento”. Cuando un modelo no está disponible, la alternativa consiste en programarlo desde cero de principio a fin, lo que supone una práctica muy distinta a la forma en que las ciencias sociales han operado habitualmente con estos modelos: recurriendo a un estimador exhaustivamente documentado, publicado y verificado por una amplia comunidad de usuarios.

API

Las API presentan dos vertientes para estos fines. En lo tocante a datos estadísticos de acceso público, los tres programas cuentan con buenas herramientas, incluyendo Stata. Stata importa datos de la Reserva Federal con su función integrada import fred, y el comando getcensus descarga datos de la American Community Survey a través de la API de la Oficina del Censo. En R, el paquete tidycensus desarrollado por Kyle Walker descarga los mismos datos incorporando la geometría de límites espaciales, lista para su representación cartográfica.

En lo relativo a datos de plataformas y modelos de IA, Python se sitúa a la vanguardia indiscutible frente a Stata y con ventaja sobre R. Las bibliotecas cliente oficiales de Google para la client libraries for the YouTube Data API abarcan Python, Java, JavaScript y PHP, entre otros, pero no R. Las bibliotecas cliente oficiales de Anthropic, OpenAI, Google Gemini y el Hugging Face Hub incorporan todas Python, y ninguna de ellas ofrece soporte nativo para R. Los usuarios de R pueden invocar múltiples modelos de lenguaje a través de ellmer, un paquete desarrollado por Posit, y StataCorp ha publicado Stata commands for calling ChatGPT, Claude, Gemini, and Grok que invocan cada API desde Python, si bien los ejemplos de código y las prestaciones más recientes se implementan siempre primero en Python.

Valores predeterminados del software

El mismo modelo ejecutado en dos programas distintos no siempre arroja idénticos valores numéricos, y tales discrepancias suelen originarse en sus parámetros predeterminados. En scikit-learn, la documentación de LogisticRegression advierte que “la regularización se aplica de forma predeterminada”, por lo que una regresión logística ajustada con los parámetros por defecto constituye un modelo penalizado cuyos coeficientes no coincidirán con un logit sin penalización proveniente de Stata o R. En statsmodels, el ajuste de mínimos cuadrados ordinarios no incorpora un intercepto a menos que se indique explícitamente, y la documentación de OLS lo expresa de manera directa: “No se incluye un intercepto de forma predeterminada, debiendo ser añadido por el usuario”.

Los errores estándar agrupados por conglomerados constituyen un caso menos evidente. La guía sobre errores estándar del paquete fixest de R agrupa una regresión por empresa y reporta tres errores estándar distintos para un mismo coeficiente: 0,0649 obtenido con el comando lm de R junto con el paquete sandwich, 0,0569 procedente de plm, y 0,0633 derivado del comando xtreg de Stata, valor que reproduce fixest. La propia conclusión de dicha guía señala que la corrección para muestras pequeñas «puede tener un impacto no desdeñable en el error estándar». El hecho de que fixest haya sido programado para coincidir con xtreg evidencia que Stata continúa siendo el referente metodológico en econometría.

Dot plot of three clustered standard errors for one coefficient: 0.0649 from R lm with sandwich, 0.0633 from Stata xtreg and fixest, 0.0569 from R plm
Errores estándar agrupados por conglomerados para el mismo coeficiente, procedentes de la guía sobre errores estándar de fixest.

Si un revisor ejecuta su modelo en otro software y obtiene un error estándar diferente, es factible que ambos resultados sean válidos bajo sus respectivos supuestos, lo que plantea un problema sustantivo de reproducibilidad.

Sintaxis y reproducibilidad

Los programas operados mediante menús desplegables, tales como SPSS, no dejan constancia del análisis a menos que la sintaxis se guarde de forma independiente. Un archivo de sintaxis registra puntualmente cada etapa, lo que permite a otro colega, o al propio autor un año después, volver a ejecutar el análisis y obtener exactamente el mismo resultado. Esto reviste hoy mayor trascendencia, toda vez que la IA generativa redacta gran parte del código que emplean los estudiantes. Un modelo puede generar un archivo do-file o un script de R en cuestión de segundos, y la única forma de constatar qué fue efectivamente estimado consiste en leer, ejecutar y conservar dicho código.

Mi expectativa es que la reproducibilidad se consolide como el criterio fundamental con el que se evaluarán los análisis. Las revistas de economía ya solicitan a los autores un paquete de replicación con datos y código, y preveo que las revistas de trabajo social y salud pública avanzarán en idéntica dirección a medida que una mayor proporción del código provenga de herramientas de IA.

Habilidades de programación e IA generativa

Escribir código describiendo lo que se desea a un modelo de IA y aceptando lo que este genera tiene ya una denominación. Andrej Karpathy lo llamó vibe coding en febrero de 2025, describiendo una práctica en la que “ya no leo los archivos diff” y limitándola a proyectos informales de fin de semana; Collins la declaró su Palabra del Año 2025. Los estudiantes preguntan con razón si aprender a programar sigue siendo importante. Considero que sí lo es, especialmente para estudiantes de doctorado.

La evidencia en torno a la productividad es dispar. En un experimento de 2022 con GitHub Copilot, los programadores completaron una tarea claramente delimitada un 55,8 por ciento más rápido, mientras que un ensayo aleatorizado de 2025 realizado por METR observó que desarrolladores experimentados de código abierto tardaron un 19 por ciento más utilizando herramientas de IA, aun cuando estimaron posteriormente que tales herramientas los habían hecho cerca de un 20 por ciento más veloces. La evidencia relativa al aprendizaje es más consistente. En un estudio aleatorizado en Anthropic, ingenieros que aprendían una nueva biblioteca de Python asistidos por IA obtuvieron un 50 por ciento en una prueba posterior, frente al 67 por ciento de quienes programaron manualmente, registrándose la mayor brecha en la depuración de errores, la habilidad crítica requerida para detectar fallos en código escrito por IA. Un experimento de campo con estudiantes de secundaria halló el mismo patrón en matemáticas: los alumnos a los que se facilitó GPT-4 sin restricciones obtuvieron mejores resultados en ejercicios prácticos y un 17 por ciento menos en el examen formal realizado sin la herramienta.

Para un estudiante de doctorado, alcanzar un resultado numérico es solo una parte del objetivo, pues aprender el proceso constituye la esencia formativa en sí. Ello abarca desde la sintaxis básica hasta la comprensión de cómo varían los supuestos de un modelo al modificar su especificación. Los modelos de lenguaje introducen sus propias decisiones frente a todo aquello que un prompt omite precisar. Un análisis sobre subespecificación de prompts constató que los modelos deducen con frecuencia requisitos no explicitados de manera predeterminada, pero que dicho comportamiento resulta «frágil» a través de diversos modelos e instrucciones. En el análisis de datos, Bertran y sus colegas entregaron la misma base de datos y la misma hipótesis a múltiples analistas de IA y encontraron una «dispersión sustancial en los tamaños del efecto, valores p y conclusiones», originada en decisiones relativas al preprocesamiento, especificación del modelo e inferencia. Un estudio sobre Claude Code y Codex en torno a una interrogante de política social obtuvo estimaciones próximas a la línea de base humana de múltiples analistas, pero una formulación confirmatoria en el prompt desplazó los dictámenes de Claude Code del 10 por ciento al 90 por ciento de respaldo. Un investigador que no sabe interpretar el código no puede identificar cuál de esas decisiones fue adoptada.

Convertirse en investigador implica asimismo asumir la responsabilidad de los propios resultados y ser capaz de fundamentarlos. La postura del COPE sobre autoría y herramientas de IA estipula que los autores que empleen IA en la recopilación y análisis de datos deben declararlo y son «plenamente responsables del contenido de su manuscrito, incluso de aquellas partes generadas por una herramienta de IA». Si uno no puede explicar un análisis, en realidad no lo domina, lo cual menoscaba la confianza en el propio trabajo. Quienes resolvieron problemas de razonamiento asistidos por IA en dos estudios de Fernandes y colegas sobrestimaron su propio rendimiento; participantes con un asistente de IA en un estudio de seguridad informática escribieron código menos seguro creyendo con mayor frecuencia que era seguro, y una encuesta a trabajadores del conocimiento reveló que una mayor confianza en la IA generativa se asociaba con un menor pensamiento crítico, mientras que una mayor autoconfianza se vinculaba con un análisis más riguroso. Si ni siquiera las personas formadas para efectuar el análisis son capaces de escribir el código por sí mismas, ¿quién podrá evaluar el código generado por la IA?

Aprender Stata

Ejecutar análisis estadísticos en R o Python se ha vuelto sumamente accesible, en especial con la asistencia de la IA, lo cual podría sugerir que Stata es innecesario; sin embargo, sigo considerando que aprenderlo resulta provechoso. Para el análisis de datos, la econometría y los métodos estadísticos avanzados habituales en ciencias sociales, Stata brinda resultados más consistentes a lo largo de sus versiones, estimadores sólidamente documentados y un amplio repertorio de paquetes y opciones programados por los propios metodólogos. Escribir version al comienzo de un archivo do-file, según señala el manual de Stata, «garantiza que su programa o do-file continuará ejecutándose en todas las versiones futuras de Stata».

Costos

ProgramaPrecio para estudiantes (octubre de 2026)Fuente
Stata/BE$94 al año, o $298 licencia perpetuaPrecios para estudiantes de Stata
Stata/SE$179 al año, o $485 licencia perpetuamismo
Mplus 9.1.1$195 por el programa base, $350 con el complemento combinadoPrecios para estudiantes de Mplus
R, Pythongratuito

Muchas universidades licencian Stata para sus estudiantes. En la University of Michigan, los estudiantes pueden acceder a Stata sin costo alguno en equipos administrados por la universidad a través del soporte informático de su unidad. Mplus dispone de una versión de demostración gratuita que limita el número de variables, lo que resulta suficiente para probar los ejemplos antes de adquirirlo.

  • October 28, 2026