RMarkdown es un mecanismo basado en texto plano que permite la construcción de documentos para reproducibilidad de códigos y análisis de datos, tanto en el contexto de la ciencia de datos, la investigación académica, así como para el contexto de la mineria e ingeniería de datos1. Desde informes de investigación, papers académicos, presentaciones en powerpoint y otros elementos es posible construir desde Markdown, especialmente con su integración a Rstudio.
Si bien es posible utilizar Markdown en diferentes softwares como Stata, Python, Jupiter. La ventaja de al menos los software libres, como es el caso de R o Python, es que se ha especializado para aprovechar las ventajas de la creación de documentos basados en Markdown. Como este integra diferentes fuentes de código (desde TeX de LaTeX, HTML, entre otros), es posible construir desde documentos guias sencillos hasta papers académicos exportables en PDF con una tremenda calidad.
Una de las ventajas más evidentes es que a diferencia de otros softwares como SPSS o Minitab es que además de que puedes observar qué se hizo en el proceso de investigación, para la construcción del informe no se requiere de pasar del software al documento en word, o en LaTeX. Con RMarkdown puedes construir el informe desde el mismo Rstudio. Solo necesitas los archivos en formato csv o en el formato que desees y el archivo Rmarkdown para fines de reproducir, por lo que hace a la reproducibilidad de resultados algo más fácil.
Es normal encontrarse en el contexto científico, o inclusive en el contexto laboral, en donde se requiere de hacer análisis estadísticos, computacionales, econométricos o de cualquier tipo en donde se involucró algún tipo de procesamiento de los mismos (sean cualitativos o no). A veces nos encontramos con ciertas dificultades como:
Queremos revisar un análisis estadístico.
Queremos rehacer los análisis estadísticos que realizamos en un momento dado del tiempo.
Replicar un nuevo método o una estrategia empírica (en el caso de una investigación académica).
Compartir o solicitar datos y/o procedimientos entre colegas.
No poder resolver estos problemas es un indicador de que una investigación tiene carácter no reproducible según Rodríguez-Sanchez et al. (2016). Gran parte de los problemas de reproducibilidad vienen en relación a los softwares computacionales y esta incapacidad de poder recolectar en un mismo documento todos los pasos que involucran desde la limpieza y tratamiento de los datos, los supuestos asumidos acerca de estos y del proceso generador de datos (DGP). Además, y aún más crucial, desde qué marco teórico se está partiendo (especialmente en las ciencias sociales) para analizar el fenómeno y estudiarlo, intentar representarlo o intervenir en ello empíricamente hablando. Este problema no es el resultado de que los científicos son acríticos o seres poco éticos con el trabajo empírico. Es que estos son seres humanos y como tales son falibles. Hay procesos de recolección, manipulación y procesamiento de los datos que pueden durar meses y hay cosas que se les puede olvidar. Ahora bien, también la capacidad de reproducirlos permite, ante todo, detectar errores y de paso detectar fraudes con mayor facilidad. Por ende, la investigación reproducible debe aspirar a trazar un proceso claro acerca de la obtención de los resultados en un informe empresarial, académico, etc.
En los archivos de código R (scripts) todo es código. La
excepción son los comentarios que podemos hacer al código que podemos
iniciarlos usando el símbolo # y luego empezar a escribir ej:
mean(data$x) # código para calcular la media de la variable X de la base de datos "data".
En los archivos RMarkdown todo es texto excepto los códigos R que estén insertados como “chunks”. Dentro de los chunks las reglas son las mismas que en los archivos de código R.
Aunque la crisis de la reproducibilidad es un fenómeno más que computacional, cabe destacar que muchos de sus males (y soluciones) están en el contexto computacional. Debido a los avances de herramientas de procesamiento y modelización de datos estadísticos, cada vez más se hacen estimaciones con algoritmos sumamente complejos en tiempo record. Esto requiere ser transparente respecto de qué manipulaciones de los datos se hacen y bajo qué criterios teóricos, epistémicos, procedimentales, etc. te basas para realizarlo para que se pueda evaluar correctamente los resultados, sus alcances teóricos, empíricos e investigativos en general.
Un aspecto poco tratado en la investigación sobre la reproducibilidad en las ciencias es que el paradigma con el que se abraza la computabilidad también influye en la calidad de la reproducibilidad. Autores dedicados a la reproducibilidad de resultados creen que la idea que el proceso de investigación es ausente de supuestos y es simplemente un “dejar que la data hable por sí misma” ha sido puesta en tela de juicio. Expertas como Berna Devezer, han dedicado reflexiones acerca de la estructura lógica de los experimentos, de las investigaciones científicas y su relación con la reproducibilidad (Devezer et al. 2019, 2021; Buzbas, Devezer, and Baumgaertner 2023), la autora destaca el rol de la falta de formalización y la falta de transparencia (no necesariamente asociada a comportamientos poco éticos de parte de los investigadores, aunque no excluye esto último) por parte de los científicos al momento de construido sus diseños de investigación, independientemente del compromiso que tienen estos con la lógica experimental.
Cabe destacar que esta falta de transparencia va ligada no a una idea de que existe un proceder poco ético a nivel generalizado en las disciplinas científicas, sino a que la falta de transparencia se da en el nivel de qué supuestos realmente estamos asumiendo sobre el proceso generador de datos y las implicaciones de ello (que pueden ser de tipo algorítmicas/metodológicas, epistémicas, ontológicas, etc.). Sobre que teorías descansan y qué elementos tomamos de la misma y cuales descartamos (y cómo descartamos estos elementos para aislar teóricamente lo que nos interesa de la teoría) para la construcción de modelos. Una forma de hacer posible o hacer explícito el análisis es mediante seguir la idea de que la ciencia se basa en conjeturas y refutaciones (Popper 2014), esto es, someter a críticas severas y más rigurosas (robustness checks) a las implicaciones y resultados empiricos de una investigación, de urgar adecuadamente en la teoría (o teorías) con la cual nos valemos para constituir dicha investigación que busca contrastar hipótesis. No hacerlo tiene consecuencias en la calidad y cantidad de conocimiento producido.
Algunas estimaciones acerca de la investigación no reproducible está en autores como Baker (2016). Mediante la elaboración de una encuesta probabilística a 1,500 científicos que este llevó a cabo, un 70 % de estos investigadores fallaron en reproducir alguno de los experimentos científicos de otros autores y más de la mitad no lograron reproducir sus mismos análisis o experimentos. Este tipo de elementos pueden resolverse mediante el uso de software estadísticos que integren mecanismos para la investigación reproducible, como es el caso de Rstudio y Rmarkdown. Al poder:
Que otros puedan reproducir tu trabajo.
Automatizar tu flujo de trabajo, ahorrar tiempo y esfuerzo.
Mejorar la calidad e impacto de tus trabajos y reducir de manera significativa el riesgo de errores.
Hace que RMarkdown sea un instrumento bastante interesante para la construcción de informes y combatir la falta de reproducibilidad en las ciencias.
En las ciencias sociales la reproducibilidad es un tema recurrente, especialmente en la economía. Un caso bien interesante es el de Reinhart and Rogoff (2010) . En la literatura de la relación entre deuda pública y crecimiento económico se han suscitado muchos debates dentro de la ortodoxia como dentro de corrientes heterodoxas (marxistas, marginalistas austriacos, estructuralistas, post-keynesianos, etc.). Una de ellas es que el crecimiento de largo plazo puede verse mermado por el nivel de deuda y ese fue uno de los resultados más interesantes detrás de Reinhart and Rogoff (2010). De los resultados más interesantes es que y cito: ” Our main result is that whereas the link between growth and debt seems relatively weak at “normal” debt levels, median growth rates for countries with public debt over roughly 90 percent of GDP are about one percent lower than otherwise; average (mean) growth rates are several percent lower. Surprisingly, the relationship between public debt and growth is remarkably similar across emerging markets and advanced economies”
Otros autores analizaron y replicaron el estudio de Reinhart y Rogoff y encontraron varios problemas como errores de codificación, omisión de datos relevantes producto de errores de código que precisamente revertían la asociación encontrada y el hallazgo más importante: al final los niveles de deuda por encima del 90 % no tuvo un efecto negativo en el crecimiento económico de las naciones en el análisis de datos de panel utilizado. Inclusive, los autores encontraron errores en la data sin procesar, producto del arrastre de celdas en la hoja de cálculo de Excel (Herndon, Ash, and Pollin 2013). Además de que los gráficos utilizados no representaban bien la variabilidad de los datos y al ponderar los datos resulta que los datos de países con altas deudas se resumen en una sola observación.
Si bien algunos filósofos de la ciencia consideran que la replicabilidad no debe de entenderse únicamente como repetir tal cual el experimento y ya, porque de lo contrario es un pseudo problema (Hacking 1983) ya que en términos técnicos nadie “repite un experimento” (p. 231). Realmente cuando se intenta reproducir un experimento lo que se busca es precisamente “mejorarlo” o siguiendo a Popper, someter las consecuencias observables a testeo empírico más riguroso (Popper 2014). Para ello tanto la tecnología como la creatividad humana juega un rol en mejorar las condiciones del experimento, y asegurar la robustez de los resultados vistos. Según Hacking realizar esto permite una versión más estable y con menor error de medición del fenómeno a estudiar (Hacking 1983, p.231). Ahora en el caso de las ciencias sociales son pocos los contextos (desde un punto de vista epistémico como desde un punto de vista ético) en donde es posible conducir de manera efectiva experimentos en el sentido estricto (doble ciego, control del grupo tratamiento o de la intervención y con aleatorización física de los participantes para lidiar con el problema del sesgo por variables omitidas), sino que, a lo sumo, se introduce el control de variables y se piensa en cuáles son los resultados esperados (o potential outcomes) (Cunningham 2021) que podrían generar un factor de confusión o relación espuria. Por lo que la reproducibilidad en las ciencias sociales implica básicamente la consistencia de los resultados no solo con los mismos datos, sino con otros datos (que haya validez convergente y externa) y, sobre todo, que se utilicen diferentes chequeos de robustez para eliminar estas variables confusoras en la mejor medida posible en contextos en donde no siempre es posible construir un diseño aleatorizado y doble ciego.
Imre Lakatos, un filósofo de la ciencia austro-hungaro llegó a una reflexión bastante interesante acerca de la misma. El problema de la demarcación2, sobre qué criterios definen qué es ciencia y qué lo distingue frente a la pseudociencia, no es un mero problema académico que se discute en salones cerrados, sino que tienen diversos problemas e implicaciones de índole económicas, políticas, y sociales (Lakatos 1978). Un problema fundamental observado con la investigación de Reinhart and Rogoff (2010) es que, como menciona Freese and Peterson (2017), a pesar de los errores, este paper sigue siendo citado para dar apoyo a políticas de austeridad. Por lo que es indudable que, en el contexto de las ciencias sociales, la investigación no reproducible puede generar procesos de persistencia de ciertas creencias que aun después de ser refutadas, persisten en el imaginario social, político e institucional de algunos países. Inclusive, en el actuar de instituciones multilaterales.
En el contexto de las ciencia de datos para fines de control interno en las empresas es crucial que metodologías para obtener información importante para la naturaleza del negocio también importa la reproducibilidad. Si el código hubiese sido reproducible en Rmarkdown, fuese más fácil de detectar estos errores.
Dentro de lo que podemos mencionar debemos:
Debido a que Rstudio tiene una integración de RMarkdown, la creación del informe es mucho más fácil y evita errores relacionados al copiar y pegar a un editor de texto.
En este apartado se describe como usar Markdown en Rstudio. Los Archivos .Rmd son los archivos R Markdown. Como tales son un registro de la investigación que estas llevando a cabo. Este documento, por ejemplo, fue redactado totalmente en RMarkdown.
Para crear un archivo RMarkdown, debes seguir los siguientes tres pasos:
Abrir un archivo RMarkdown nuevo en RStudio y escribir el título que desees (no es el nombre del archivo sino su título). Puedes editar el autor y seleccionar el formato de salida (por defecto será HTML). Luego haz clic en Aceptar.
Editar y guardar el archivo RMarkdown (con formato .Rdm o .rmd) en el directorio que desees, asignándole un nombre adecuado.
Exportar el documento RMarkdown (también llamado compilar, “tejer” o “renderizar”). Puedes hacer clic en “Knit HTML” o en File>Knit Document. RStudio te mostrará una vista previa del archivo resultante y guardará una copia en el directorio que seleccionaste inicialmente.
Normalmente esta es la estructura que observas por lo regular en un
archivo Markdown desde el visor de Rstudio:
Es posible modificar el formato del texto en el archivo RMarkdown con simples funciones. Aquellas que tienen que ver con el encabezado, títulos y subtítulos en el texto se insertan mediante el signo de # (hastag).
Por ejemplo:
A su vez, para crear listas (enumeradas o con bullet points) podemos
utilizar los siguientes códigos:
* Item 1* Item 2
Esto es para bullet points en forma de círculo, otros símbolos pueden usarse (el de + o el de -) o puede ser mediante una lista ordenada:
La forma en la que se observa en el texto plano es así:
1. Item 1...
También es posible introducir negritas y cursivas o negritas y cursivas al mismo tiempo. Para introducirla utilizamos el símbolo de asterisco de la siguiente manera:
**texto en negrita**
*texto en cursiva*
***texto en cursiva y negrita***
RMarkdown permite construir funciones para introducir imágenes, con la siguiente función:

En donde entre paréntesis se coloca la dirección dentro de la pc o, por ejemplo el hipervínculo:

Otro elemento importante es la colocación de hipervínculos. Si quiero colocar un hipervínculo que me remita a la página del banco de datos del Banco Mundial solo debo de introducir este código:
[BM](https://databank.worldbank.org/home.aspx)
Para la construcción de ecuaciones, sigue una estructura similar a la construcción de ecuaciones con algunos paquetes de LaTeX. Introdujendo dos (2) signos de dólar $ y dentro de ellos se escribe la ecuación de la siguiente manera:
$y_{it}= \alpha_{i}+\beta X_it+ \epsilon_{it}$
El cual como ecuación en el archivo se observa de la siguente manera:
\(y_{it}= \alpha{i}+\beta X_{it}+ \epsilon{it}\)
Esta ecuación de un modelo de de regresión de datos de panel escrita anteriormente utilizó comandos de escritura que se utilizan en LaTeX. Por lo que es conveniente tener alguna guia de escribir ciertos símbolos matemáticos en dicho lenguaje. Afortunadamente en Overleaf es posible encontrar guías completas de ello.
Una de las funciones comunes de la herramienta es que podemos insertar códigos en trozos o chunks (en ingles), así como sus resultados. Esto evita dos cosas:
Un pedazo de chunk tiene por lo general la siguiente estructura:
```{r}```
En donde lo que esté dentro del espacio de ```{r} y
``` se comportará como el ambiente de un script de R. Una
forma de insertar rápido los trozos es mediante el atajo de
teclado Ctrl + Alt + I (OS X: Cmd + Opción +
I). Otro es desde el menú Insert>R. Por último
tenemos el comando Agregar fragmento en la barra de herramientas del
editor (representado por un símbolo de más con una letra
c de color verde).
Para fines de ejemplo de como usar los chunks vamos a utilizar el paquete pcse y la base de datos de Alvarez, Garrett, and Lange (1991) (de ahora en adelante AGL). Este paper intenta mediante métodos de regresión de datos de panel establecer una relación entre partidismo gubernamental, la capacidad de organización laboral/sindical y los resultados macroeconómicos de estos. Usando un panel con datos de la OEDC de 16 países por un período de 15 años (1970-1984). Los resultados más relevantes fueron que los gobiernos de izquierda y con movimientos obreros activos tenían mejores resultados macro económicos.
#install.packages("pcse")
library(rmarkdown)
library(pcse)
library(lmtest)
library(plm)
library(knitr)
data("agl")
kable(head(agl), digits=2, caption= "Encabezado de la base de datos en AGL (1991)")| year | country | growth | lagg1 | opengdp | openex | openimp | leftc | central | inter |
|---|---|---|---|---|---|---|---|---|---|
| 1970 | AUL | 6.1 | 3.96 | 101.64 | 178.64 | 178.64 | 0 | 1.77 | 0.00 |
| 1971 | AUL | 5.6 | 4.23 | 109.15 | 115.05 | 179.95 | 0 | 1.77 | 0.00 |
| 1972 | AUL | 3.6 | 3.44 | 151.20 | 72.80 | 156.80 | 0 | 1.77 | 0.00 |
| 1973 | AUL | 5.4 | 4.18 | 165.30 | 295.80 | 232.00 | 100 | 1.77 | 176.87 |
| 1974 | AUL | 1.6 | 5.09 | 26.40 | 778.80 | 382.80 | 100 | 1.77 | 176.87 |
| 1975 | AUL | 2.3 | 4.21 | -9.06 | 217.44 | 323.14 | 83 | 1.77 | 146.80 |
El paquete pcse es un paquete basado (dicho paquete nos
permite acceder a la base de datos de Alvarez,
Garrett, and Lange (1991)) en la estimación de la varianza para
modelos de datos de panel largo ideado por dos politólogos en contextos
en donde empíricamente los errores poseen heterocedasticidad y
correlación contemporánea (Beck and Katz
1995). Beck et al. (1993)
replicaron el análisis de AGL y llegaron a la conclusión de que la
técnica para estimar la varianza en su paper era incorrecta, por lo que
las pruebas de hipótesis del modelo no arrojaban los resultados
correctos. Por lo que al reestimar solo la relación entre gobiernos de
izquierda y resultados político-institucionales seguía siendo verdadera
pero no para los resultados obtenidos respecto del desempleo y la
inflación. El principal problema es que AGL utilizó la estimacion de
Mínimos Cuadrados Generalizados Factibles o Feasible Generalized
Least Squares en ingles(Parks 1967; Vasavada
1988) (de ahora en adelante FGLS). Las propiedades en muestras
pequeñas de dicho estimador es sumamente pobre según Beck et al. (1993) (luego corroborado en Beck and Katz (1995) a través de otras
simulaciones en presencia de autocorrelación serial, contemporánea y
heterocedasticidad y compararlo con su propuesta de corrección de
errores estándares para datos de panel). Aún siendo un estimador robusto
a formas de autocorrelación serial, heterocedasticidad y correlación
contemporánea FGLS es sumamente conservador en comparación con técnicas
más consistentes pero menos eficientes como Errores Estándares Robustos
(Beck et al. 1993). Uno de los supuestos
fundamentales para usar FGLS es que el número de períodos de observación
(T) debe ser varias veces mayor al número de observaciones (países) (N).
Beck et al. (1993) muestra que los
“intervalos de confianza al 95 % calculados usando FGLS contienen el
parámetro poblacional en simulaciones solo en un 50 % de las ocasiones
para un panel de N=18 y T=22 (p .947).
La estrategia empírica usada por Alvarez, Garrett, and Lange (1991) se podía expresar en la siguiente ecuación:
\(EP_{it}=\beta_0+\beta_{1}LORG_{it}+\beta_{2}LFCAB_{it}+\beta_3LORG*LFCAB_{it}+\gamma VULIE_{it}+\rho EP_{i,t-1}+\epsilon_{it}\)
En donde EP es una variable de desempeño económico, los autores
eligieron: El PIB, el cambio en el desempleo y el cambio en la tasa de
inflación. LORG es un índice multiplicativo que mide la densidad y
centralización de los sindicatos de trabajadores, LFCAB es el porcentaje
de escaños por dirigentes de izquierda como una medida de fuerza
política. \(\beta_{3}LORG*LFCAB\) es el
producto de LORG y LFCAB para medir la interacción entre la densidad
sindical y la fuerza política de la izquierda, el cual es la hipótesis
central de la investigación de AGL. \(\gamma
VULIE\) es un vector que sirve de indicador de vulnerabilidad
económica de países de la OECD compuesto por tres variables: \(\gamma EXP\), \(\gamma IMP\) y \(\gamma GDP\) . Una refiere al nivel de
exportaciones de los países de la OECD, el segundo al nivel de
importaciones de la misma y el tercero al nivel de PIB de los países de
la OECD, el cual es un proxy de la vulnerabilidad del país a la demanda
de los países que conforman a la misma.\(\rho
EP_{i,t-1}\) es la variable dependiente rezagada para introducir
el efecto del desempeño económico pasado en el modelo. Por último \(\epsilon_{it}\) es el término del error. El
el chunk que tenemos debajo estimaremos un modelo FGLS agrupado, tal
cual como en Alvarez, Garrett, and Lange
(1991) y como es de esperar, FGLS tiene errores estándares
sumamente conservadores (ver tabla de regresiones)3.
#Primero aquí extraemos ciertas librerías
#que nos ayudarán para estimar errores
#estándares robustos y para crear las tablas:
library(sandwich) #Para re-estimar errores estándares
#robustos a heterocedasticidad
library(broom) # Para convertir ciertas funciones
#como lm (linear model) en tiddy para poder manipularlas
#para fines de construir las tablas.
library(texreg) # Para las tablas
modelo1<-lm(growth ~ lagg1 + opengdp + openex + openimp +
central +leftc + inter + as.factor(year), data = agl)
modelo2<-pggls(growth ~lagg1 + opengdp +openex +openimp+
central+ leftc+ inter+ as.factor(year), data=agl, method= "pooling", ar=F)
modelo3<- plm(growth ~lagg1 + opengdp +openex +openimp+
central+ leftc+ inter+ as.factor(year), data=agl, method="pooling")
modelo4<-coeftest(modelo3, function(x) vcovHC(x, cluster="group"))
modelo5<- coeftest(modelo3, vcov = vcovBK(modelo3, cluster= "time" ))
Pero como muestran Beck et al. (1993) FGLS de Kmenta y Parks es una matriz singular (es decir no una matriz invertible) ya que esta solo es posible invertir si el número de T es mayor que N. Por lo que una opción sería estimar, como hicieron Beck et al (1993) es re-estimar la matriz de varianzas y covarianzas usando errores estándares robustos. Aunque según Beck and Katz (1995) aunque la estimación de regresión de datos de paneles con errores estándares corregidos (PCSE) funciona mejor cuando el número de observaciones N es menor que el número de periodos T, las simulaciones indican que con \(T\geq 15\) PCSE arroja resultados consistentes de la varianza de los coeficientes si el modelo está correctamente identificado (Beck and Katz 1995). Aún así, los resultados del modelo muestran un mayor error estandar que los claculados por FGLS, inclusive la matriz sin corregir por heterocedasticidad, autocorrelación y correlación contemporánea. En esta reproducción (al igual que en AGL y en la reproducción de Beck et al. (1993), se incluyeron variables dummies de los años (year fixed effects) para ajustar por shocks temporales.
#Antes de hacer la tabla es necesario extraer resultados
# del FGLS (pggls) para que texreg pueda leerlo:
extract.pggls <- function (model, include.rsquared = TRUE, include.adjrs = TRUE,
include.nobs = TRUE, ...)
{
s <- summary(model, ...)
coefficient.names <- rownames(s$CoefTable)
coefficients <- s$CoefTable[, 1]
standard.errors <- s$CoefTable[, 2]
significance <- s$CoefTable[, 4]
rs <- s$rsqr
n <- length(s$resid)
gof <- numeric()
gof.names <- character()
gof.decimal <- logical()
if (include.rsquared == TRUE) {
gof <- c(gof, rs)
gof.names <- c(gof.names, "R$^2$")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.nobs == TRUE) {
gof <- c(gof, n)
gof.names <- c(gof.names, "Num. obs.")
gof.decimal <- c(gof.decimal, FALSE)
}
tr <- createTexreg(coef.names = coefficient.names, coef = coefficients,
se = standard.errors, pvalues = significance, gof.names = gof.names,
gof = gof, gof.decimal = gof.decimal)
return(tr)
}
setMethod("extract", signature = className("pggls", "plm"),
definition = extract.pggls)
## Tabla de regresión
htmlreg(list(extract.pggls(modelo2),
modelo1, modelo4, modelo5),
custom.coef.map = list("central"= "LORG",
"leftc"= "LFCAB", "inter"= "LORG*LFCAB",
"openex"= "EXP", "openimp"= "IMP","opengdp"= "VULIE",
"lagg1"= "EPt-1","(Intercept)"= "Intercept"),
custom.model.names = c("FGLS", "OLS.P", "OLS.P.R", "PCSE"), caption = "Tabla de regresión")| FGLS | OLS.P | OLS.P.R | PCSE | |
|---|---|---|---|---|
| LORG | -0.93*** | -0.76*** | -0.76* | -0.76** |
| (0.09) | (0.22) | (0.33) | (0.24) | |
| LFCAB | -0.02*** | -0.02** | -0.02*** | -0.02* |
| (0.00) | (0.01) | (0.01) | (0.01) | |
| LORG*LFCAB | 0.01*** | 0.01*** | 0.01*** | 0.01*** |
| (0.00) | (0.00) | (0.00) | (0.00) | |
| EXP | 0.00*** | 0.00 | 0.00* | 0.00 |
| (0.00) | (0.00) | (0.00) | (0.00) | |
| IMP | -0.00 | -0.00 | -0.00 | -0.00 |
| (0.00) | (0.00) | (0.00) | (0.00) | |
| VULIE | -0.00*** | -0.00 | -0.00 | -0.00 |
| (0.00) | (0.00) | (0.00) | (0.00) | |
| EPt-1 | 0.04 | 0.05 | 0.05 | 0.05 |
| (0.04) | (0.14) | (0.14) | (0.15) | |
| Intercept | 5.97*** | |||
| (0.92) | ||||
| R2 | 0.50 | 0.50 | ||
| Num. obs. | 240 | 240 | ||
| Adj. R2 | 0.45 | |||
| ***p < 0.001; **p < 0.01; *p < 0.05 | ||||
Las conclusiones que podemos extraer es que aún con un modelo robusto a heterocedasticidad y correlación contemporánea (que de no ajustar es posible que nuestros errores estándares estén mal estimados y las inferencias sean incorrectas, como es el caso de un modelo por PCSE, la hipótesis de Alvarez, Garrett, and Lange (1991) se mantiene para el caso del crecimiento económico. Si bien la sinergía entre partidos, uniones laborales tienen un efecto en el crecimiento económico (en base a una serie de mecanismos descritos por Alvarez, Garrett, and Lange (1991)), no es bien cierto que aplica para todas las dimensiones del desempeño económico.
Esto no hubiese sido reproducible sin la capacidades de los otros autores de conjeturar y someter a pruebas distintas y refutar en un sentido popperiano, de crítica con erudición. La tecnología como tal nos puede ayudar a hacer mejor ciencia, a mejorar espacios de discusión y llevar la crítica solo a los argumentos y no a las personas. Es posible minimizar esa verticalidad que hay detrás de la academia mediante poner a disposición estas herramientas al acceso de las personas, independientemente de cual es su nivel socio-económico, ideología política, e inclusive situación y contexto. Democratizar el conocimiento y democratizar las vías de criticidad es condición necesaria para una ciencia cada vez más perfectible, y herramientas como RMarkdown son capaces de aportar a ello. No es que sea condición suficiente para una ciencia más democratizada y en donde podamos someter a crítica enunciados, teorías e hipótesis, pero creo que necesaria.
Para más información ver http://rmarkdown.rstudio.com.↩︎
El problema de la demarcación entre ciencia y pseudo ciencia es un tema extenso que no es el objeto de estudio de este texto, en autores como Karl Popper, el mismo Irme Lakatos y otros como Massimo Pugliucci.↩︎
Esta versión de la base de datos de Alvarez, Garrett, and Lange (1991) no contiene 16 países, sino 15, por lo que los resultados pueden diferir un poco, aunque los resultados son consistentes.↩︎