Logo Studenta

Ajuste de Regressões Lineares com R

¡Estudia con miles de materiales!

Vista previa del material en texto

Instructivo rápido para ajustar regresiones lineales con R
Luis Frank
El software de cabecera del curso de Econometŕıa para LEAA es R. Hemos elegido este software
porque se trata de un programa descargable libremente y ampliamente difundido en el mundo
académico y profesional. R es un programa poderoso pero su sintaxis dista de ser intuitiva para
principiantes. Para que el propio aprendizaje de R no se convierta en un obstáculo para la en-
señaza de Econometŕıa elaboramos esta gúıa rápida que permitirá al estudiante correr su primera
regresión inmediatamente después de instalar el programa.
Instructivo
[1] Instalación de R en MS Windows. El programa puede descargarse gratuitamente desde
múltiples sitios. Busque R desde Google o vaya directamente al sitio oficial www.r-project.org
y descárguelo aceptando las opciones por defecto. La interface de R es una ĺınea de comando en
una ventana llamada consola. Usualmente se instala con R un programa complementario, normal-
mente RStudio, para escribir rutinas con cierta facilidad, pero por ser ésta una gúia minimalista
omitirimos por el momento los complementos. Queda a cargo del estudiante explorar estas al-
ternativas una vez que maneje operaciones básicas propuestas en esta gúıa. Aconsejamos ver los
videos de Carlos Jara para mayores detalles sobre la instalación de R y RStudio.1
[2] Lectura de la matriz de datos. Si instaló R correctamente debeŕıa aparecer un ı́cono en el
escritorio de su PC. Abra el programa, pero antes de correr cualquier regresión conviene chequear
que el programa lee correctamente los datos que vayamos a utilizar. Supongamos que dispone de
una matriz de datos en EXCEL, sin rótulos ni leyendas salvo los números de la matriz. Guarde la
matriz en formato CSV en la carpeta Documentos. El formato CVS guarda la matriz separando
los números con comas. Si el sistema operativo de la computadora y el EXCEL se encuentran
definidos en español se deberá reemplazar las comas de los decimales por puntos antes de guardar
el archivo en formato CSV. Los números de este último aparecerán separados por punto y coma
en vez de coma, lo cual no representa ningún obstaculo cmo veremos a continuación. Solamente
hay que tener en claro que R separa decimales con punto. Supongamos que el archivo guardado
se llama ejemplo.csv.2 Una vez que grabó su matriz de datos en CSV, abra R y en la ĺınea de
comandos escriba
> misdatos <- read.csv("ejemplo.csv", header=FALSE, sep=";")
Mediante este comando R lee el archivo ejemplo.csv sabiendo que las columnas no tienen rótulos
y que los números se encuentran separados por punto y coma. Lógicamente, si el idioma de la
computadora es inglés se deberá omitir la opción sep=";". El signo <- opera en R como el signo
de igualdad =. Luego, apretando la tecla [ENTER] R guardará la matriz en la memoria con el
nombre misdatos. Para editar misdatos basta escribir
> misdatos
1Se puede acceder a los videos desde la página del curso en ced.agro.uba.ar .
2R lee datos en múltiples formatos, incluso con rótulos en filas y columnas. No obstante, como nuestra intención
es redactar una gúıa rápida para principiantes dejaremos a cargo del estudiante investigar este tema.
1
y se editará la matriz completa. Nótese que al editar la matriz las filas aparecen numeradas y las
columnas rotuladas como V1, V2, ..., etc.
Si al definir misdatos apareciera un mensaje indicando que el archivo no puede ser hallado, puede
verificar si la carpeta Documentos se encuentra definida en R como working directory o carpeta
de trabajo. Para ello, escriba
> getwd()
y R le dirá la ruta completa al working directory. Si necesita redefinirlo escriba, por ejemplo,
> setwd("C:\Documentos")
[3] Regresión múltiple. Supongamos que el primer vector de la matriz (V1) es el regresando
y los demás vectores los regresores, es decir la matriz X sin la columna de 1 de la ordenada al
origen, ya que R la considera automáticamente. Para estimar los parámetros y los estad́ısticos de
prueba usuales escriba
> miregresion <- lm(V1 ~ V2+V3, data = misdatos)
> summary(miregresion)
A continuación se editará la t́ıpica salida de computadora con los parámetros estimados, los desvós
estándar, estad́ısticos de prueba t, P (T > |t|), etc. No aparecerá la tabla de ANOVA, la que se
obtiene por separado mediante el comando
> anova(miregresion)
2
Nótese que anteriormente guardamos los resultados del ajuste en la memoria bajo el nombre
miregresion pero no guardamos las tablas generadas por summary() y anova(). Para guardarlas
en la memoria se sigue la misma lógica que antes nombrando anteponiendo un nombre y el signo
<- a la función, por ejemplo
> mianova <- anova(miregresion)
La función lm (linear model) tiene dos partes separadas por una coma. En la primera se define
cuál es el regresando del lado izquierdo del signo ∼ y los regresores del lado derecho. En la segunda
parte se indica de dónde tomar los datos de la regresión. La expresión V1 V2+V3 no es sólo una
enumeración de variables sino una expresión matemática. Por ejemplo, si se deseara expresar la
variable V2 en escala logaritmica, se puede escribir
> miregresion <- lm(V1~log(V2)+V3, data = misdatos)
Además de editar los resultados con summery() y la tabla de ANOVA con anova() es posible
editar los residuales con residuals(miregresion), la matriz de covarianzas de los estimadores
con vcov(miregresion), los valores predichos de V1 con predict(miregresion), etc. Sugerimos
al lector investigar todas estas posibilidades a través de tutoriales disponibles en internet.
[4] Cómo exportar los resultados. La forma más sencilla para guardar las tablas de resultados
es “copiar y pegar” en un procesador de texto. Es posible generar un archivo desde la ĺınea de
comandos con la función sink(). Dejamos a cargo del lector investigar la sintaxis y las posibi-
lidades de esta función. Copiar y pegar vectores, en cambio, puede ser tedioso por su extesión
y poco práctico. Para guardar vectores, como el vector de valores predichos del regresando por
ejemplo, se utiliza la función opuesta a la de lectura:
3
> y <- predict(miregresion)
> write.csv(y, file="mivector.csv", row.names=FALSE)
La opción row.names=FALSE evita que se guarde la numeración de los elementos del vectos sepa-
rada por coma del correspondiente elemento. Si se omite esta opción sólo se guardará el vector de
valores predichos. Los archivos generados por write.csv se guardan en el working directory. Re-
cuérdese que los valores numéricos se guardarán con punto en vez de coma para separar decimales.
[5] Scripts. Evidentemente la misma secuencia de comandos para ajustar una regresión se uti-
lizará infinidad de veces. Para evitar el tedio de rescribir los comandos en cada oportunidad R
permite guardar rutinas completas o scripts que no son otra cosa que archivos con la sucesión
de comandos vista en los puntos anteriores. Los scripts se guardan como archivos de texto con la
extensión .r en el working directory, en nuestro caso C:\Documentos. Por ejemplo, el script para
correr la regresión anterior seŕıa un archivo con el siguiente contenido
misdatos <- read.csv("ejemplo.csv", header=FALSE, sep=";")
miregresion <- lm(V1 ~ V2+V3, data = misdatos)
summary(miregresion)
anova(miregresion)
Se puede guardar este script, por ejemplo, con el nombre miregresion.r. Para leerlo y ejecutarlo
se utiliza el comando source(), y para visualizar los resultados se procede como si los comando
se hubieran ingresado uno a uno. Por ejemplo,
4
Comentario final
Insistimos en que el ajuste de una regresión de la manera explicada precedentemente no es la mejor
ni la más “profesional”. Es simplemente una forma rápida que permitirá al estudiante resolver
los primeros ejercicios de Econometŕıa sin que el apredizaje del software sea un obstaáculo ni lo
desmoralice. A partir de este punto aconsejamos al estudiante instalar un front end amigable como
RStudio y explorar modos más eficacesde importar matrices, incluso desde EXCEL directamente.
5

Continuar navegando

Materiales relacionados

58 pag.
RESUMEN DE INFORMÁTICA REMEDIAR

Grau Técnico

User badge image

Florencia Ordás

196 pag.