R es un poderoso lenguaje de programación para computación estadística y análisis de datos. Una de las ventajas de R es que ofrece un gran número de paquetes que amplían su funcionalidad y proporcionan herramientas para diversas tareas. En este artículo, nos centraremos en uno de estos paquetes, llamado sándwich, que proporciona estimadores robustos de matriz de covarianza para diferentes tipos de modelos.
El paquete sándwich es un paquete R que implementa estimadores de errores estándar robustos para datos transversales, series temporales, agrupados, paneles y longitudinales. Estos estimadores son útiles cuando se violan algunos de los supuestos del modelo, como la homoscedasticidad o la independencia de los errores. En tales casos, los errores estándar habituales pueden estar sesgados y conducir a inferencias incorrectas, como pruebas de hipótesis o intervalos de confianza.
El nombre sándwich proviene del hecho de que estos estimadores de matriz de covarianza tienen una estructura tipo sándwich, que consiste en dos matrices de "pan" externas y una matriz de "carne" interna. Las matrices de pan se basan en la inversa de alguna estimación de la información de Fisher, que generalmente se deriva de la función de probabilidad logarítmica del modelo. La matriz de carne se basa en productos cruzados de la función de puntuación, que es el gradiente de la función log-probabilidad. El estimador de matriz de covarianza sándwich se obtiene multiplicando estas tres matrices juntas.
El paquete sándwich está disponible en CRAN, que es el repositorio oficial de paquetes R. Hay dos formas principales de instalarlo desde CRAN: usando la función install.packages() o usando el menú RStudio.
La función install.packages() es una función integrada en R que le permite instalar paquetes desde varias fuentes. Para instalar un paquete desde CRAN, solo necesita especificar su nombre como una cadena de caracteres. Por ejemplo, para instalar el paquete sándwich, puede escribir:
install.packages("sandwich")Esto descargará e instalará la última versión del paquete de CRAN. Se le puede pedir que elija una réplica CRAN (o servidor) desde donde descargar el paquete. Puede seleccionar cualquier espejo que esté cerca de su ubicación o que funcione bien para usted.
También puede instalar varios paquetes a la vez utilizando un vector de nombres de paquetes como argumento. Por ejemplo, para instalar tanto sándwich como lmtest (otro paquete útil para probar modelos lineales), puede escribir:
install.packages(c("sandwich", "lmtest")Si está usando RStudio, que es un popular entorno de desarrollo integrado (IDE) para R, también puede usar su interfaz gráfica de usuario (GUI) para instalar paquetes desde CRAN. Para hacer esto, debes seguir estos pasos:
Esto también descargará e instalará la última versión del paquete (o paquetes) de CRAN. También puede seleccionar otras opciones, como instalar dependencias (otros paquetes requeridos por el paquete que desea instalar) o actualizar los paquetes existentes.
library(sandwich) library(lm)Esto hará que las funciones y objetos de estos paquetes estén disponibles para su uso. Solo necesita cargar un paquete una vez por sesión, a menos que reinicie R o separe el paquete.
La función principal en el paquete sándwich es sandwich(), que calcula el estimador de matriz de covarianza sándwich para un objeto de modelo ajustado. La sintaxis de esta función es:
sandwich(x, ...)donde x es el objeto del modelo ajustado y ... son argumentos opcionales que se pueden usar para modificar el comportamiento de la función. Por ejemplo, puede especificar un tipo diferente de estimador, como HC (heteroscedasticidad-consistente) o HAC (heteroscedasticidad y autocorrelación-consistente), usando el argumento type.
Para ilustrar cómo usar esta función, consideremos un modelo de regresión lineal simple usando el conjunto de datos mtcars, que está incorporado en R. Este conjunto de datos contiene información sobre 32 autos, como millas por galón (mpg), número de cilindros (cyl), caballos de fuerza (hp) y peso (wt). Supongamos que queremos modelar mpg como una función de wt y hp. Podemos ajustar este modelo usando la función lm():
model <- lm(mpg wt + hp, data = mtcars)Esto creará un objeto modelo llamado modelo, que contiene información diversa sobre el modelo ajustado. Para calcular el estimador de matriz de covarianza sándwich para este modelo, podemos usar la función sandwich():
Esto devolverá una matriz que se ve así:
Estos son los errores estándar robustos que explican la posible heteroscedasticidad o autocorrelación en los datos.
El paquete sándwich también proporciona otras funciones que se pueden utilizar para realizar inferencias basadas en el estimador de matriz de covarianza sándwich. Por ejemplo, puede usar la función coeftest() para probar hipótesis sobre los coeficientes del modelo, como si son iguales a cero o algún otro valor. También puede usar las funciones vcovHC() o vcovHAC() para calcular tipos específicos de covarianzas sándwich, como HC o HAC. También puedes usar las funciones lrtest() o waldtest() para probar hipótesis sobre modelos anidados, como si algunos coeficientes son iguales a cero o no.
Para obtener más información sobre estas funciones y cómo usarlas, puede consultar la documentación del paquete sándwich, que discutiremos en la siguiente sección.
La documentación de un paquete R es una valiosa fuente de información que explica lo que hace el paquete, cómo usar sus funciones y objetos, qué argumentos y valores aceptan y devuelven, qué ejemplos y referencias están disponibles, etc. Hay tres formas principales de acceder a la documentación del paquete sándwich: usando la función help(), usando la función vignette() o usando el sitio web RDocumentation.
La función help() es una función integrada en R que le permite acceder a la documentación de cualquier función u objeto en R. Para usar esta función, solo necesita especificar el nombre de la función u objeto como una cadena de caracteres o un símbolo. Por ejemplo, para acceder a la documentación de la función sandwich(), puede escribir:
help("sandwich")or
para lograr el mismo resultado. La documentación proporcionará información como una descripción de lo que hace la función, su uso, sus argumentos, su valor, algunos ejemplos y algunas referencias.
La función vignette() es una función en R que le permite acceder a las viñetas de un paquete. Las viñetas son documentos que proporcionan una explicación más completa y detallada de cómo usar un paquete y sus características. Por lo general, contienen ejemplos, código y gráficos que ilustran cómo aplicar el paquete a datos reales. Para usar esta función, solo necesita especificar el nombre del paquete como una cadena de caracteres. Por ejemplo, para acceder a las viñetas del paquete sándwich, puede escribir:
Esto abrirá una nueva ventana o pestaña en su navegador que muestra una lista de viñetas disponibles para el paquete sándwich. Puede hacer clic en cualquiera de ellos para ver su contenido. Por ejemplo, una de las viñetas se llama "sandwich-OOP", que explica cómo usar covarianzas sándwich con diferentes tipos de modelos y clases en R.
El sitio web RDocumentation es una plataforma en línea que proporciona documentación para todos los paquetes R disponibles en CRAN, Bioconductor y GitHub. Puede acceder a este sitio web visitando https://www.rdocumentation.org/ Puede buscar cualquier paquete, función o tema utilizando el cuadro de búsqueda en la esquina superior derecha del sitio web. Por ejemplo, si escribe "sándwich" en el cuadro de búsqueda, verá una lista de resultados relacionados con el paquete sándwich y sus funciones. Puede hacer clic en cualquiera de ellos para ver su documentación.
Algunas alternativas al paquete sándwich son: - El paquete lmtest, que proporciona funciones para probar modelos lineales basados en covarianzas sándwich. - El paquete plm, que proporciona funciones para modelos de datos de panel con covarianzas sándwich. - El paquete clubSandwich, que proporciona funciones para datos en clúster y longitudinales con covarianzas sándwich. - El paquete vcovr, que proporciona funciones para calcular matrices de varianza-covarianza robustas utilizando diferentes métodos.
Si utiliza el paquete sándwich en su investigación o publicación, puede citarlo utilizando la siguiente referencia: Zeileis A (2004). Computación econométrica con HC y HAC Covariance Matrix Estimators. Journal of Statistical Software 11(10), 1-17. https://www.jstatsoft.org/v11/i10/.
Si necesita ayuda o desea reportar problemas con el paquete sándwich, puede: - Lea la documentación y viñetas del paquete. - Publique su pregunta o problema en la lista de correo Stack Overflow o R-help usando la etiqueta [r] y [sandwich]. - Póngase en contacto con el responsable del paquete por correo electrónico a Achim....@R-project.org.
Si desea contribuir al paquete sándwich, puede: - Bifurcar el repositorio GitHub del paquete en https://github.com/cran/sandwich y hacer sus cambios o adiciones. - Envíe una solicitud de extracción al repositorio original con una descripción clara de su contribución. - Seguir el código de conducta y las directrices del paquete y la comunidad R.