Sie sind auf Seite 1von 70

MANUAL DE LENGUAJE R.

INSTALACIN Y OPERACIONES BSICAS DE


DATOS
Versin 2.10.1


Ramn lvarez Esteban
Enero 2012



Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


2
NDICE

1. QU ES R? ................................................................................................................................................. 3
2. INSTALACIN EN WINDOWS (XP Y VISTA) ....................................................................................... 5
2.1. Instalacin de R en Windows ............................................................................................................... 5
2.2. Instalacin de RCommander ............................................................................................................... 12
2.3. RCommander desde la consola de R RConsole ................................................................................... 14
2.4. Ejecucin automtica de RCommander ............................................................................................... 16
2.5. Seleccin del idioma de R ................................................................................................................... 17
3. IMPORTACIN DE DATOS .................................................................................................................... 18
3.1. Importacin de un fichero ASCII ........................................................................................................ 18
3.2. Importacin de un fichero de SPSS ..................................................................................................... 25
3.3. Importacin de ficheros EXCEL ......................................................................................................... 29
4. ESTADSTICOS DESCRIPTIVOS ........................................................................................................... 33
4.1. Obtencin de un resumen de la tabla de datos completa ..................................................................... 33
4.2. Seleccin una variable numrica y obtencin de estadsticos de resumen ......................................... 34
5. PRUEBAS DE NORMALIDAD ................................................................................................................ 36
5.1. Instalacin de la librera nortest ....................................................................................................... 36
5.2. Test de Shapiro-Wilk de normalidad ................................................................................................... 38
5.3. Anderson-Darling test de normalidad .................................................................................................. 39
5.4. Cramer-von Mises test de normalidad ................................................................................................. 39
5.5. Lilliefors (Kolmogorov-Smirnov) test de normalidad ......................................................................... 40
5.6. Shapiro-Francia test de normalidad ..................................................................................................... 40
6. CORRELACIN LINEAL ........................................................................................................................ 42
6.1. Linealidad. Representacin grfica ..................................................................................................... 42
6.2. Correlacin lineal de Pearson .............................................................................................................. 43
6.3. Coeficiente de correlacin parcial de Pearson ..................................................................................... 44
6.4. Ejemplo de correlacin lineal de Pearson ............................................................................................ 44
7. REGRESIN LINEAL SIMPLE ............................................................................................................... 57
7.1. Fases en el anlisis de regresin lineal simple ..................................................................................... 58
7.2. Anlisis de las correlaciones ................................................................................................................ 59
7.3. Bondad global del modelo ................................................................................................................... 59
7.4. Anlisis relacionados con la variable independiente ........................................................................... 62
7.5. Ejemplo anlisis de regresin lineal simple en R ................................................................................ 65

Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


3


1. QU ES R?

R es un lenguaje de programacin y a la vez un software para la obtencin de estadsticas
y grficas. Ha sido creado por Ross Ihaka y Robert Gentleman en la University de
Auckland, New Zealand. Actualmente, est siendo desarrollado y mantenido por el equipo
R Development Core Team.
R es parte de un proyecto ms general denominado GNU (General Public License). Tanto
los cdigos fuente como las versiones binarias se pueden descargar libremente bajo
licencia GNU.
Las versiones de R a partir de la 2.7.0 solamente funcionarn bajo entornos de Windows
2000 o posteriores (Windows XP, Windows Vista). La versin de R 2.6.2 ha sido la
ltima que funciona bajo los entornos de Windows 95, 98, ME y NT4.) Actualmente no hay
una versin especfica para Windows x64 (Windows con 64-bits), pero la versin de 32-bits
funciona correctamente con mquinas de 64-bits. Windows Vista puede plantear algn
problema en la instalacin, ya que se requiere (al igual que ocurre en multitud de
programas en Windows Vista) que se posean permisos relacionados con las cuentas que
se utilicen (generalmente permisos de administrador). A fecha de enero de 2010, la ltima
versin de R disponible es la 2.10.1.
El sitio web del proyecto se encuentra en http://www.r-project.org/, incluyendo enlaces para
bajar el programa y los cdigos fuente de los paquetes. Hay bastantes espejos (mirrors)
donde se puede descargar R:
http://cran.r-project.org/mirrors.html
Existen paquetes que pueden ser cargados en R para realizar anlisis no incluidos por
defecto, son los denominados paquetes binarios (gestionados por Duncan Murdoch).
Pueden ser descargados desde:
http://cran.es.r-project.org/bin/windows/base/
Hay tambin otros paquetes binarios de diferentes contribuciones (contributed packages)
(gestionados por Uwe Ligges):
http://cran.es.r-project.org/bin/windows/contrib/
Podemos encontrar las preguntas ms frecuentes en relacin a R (FAQS) en:
http://cran.es.r-project.org/bin/windows/base/rw-FAQ.html
Entre toda una serie de utilidades disponibles en Internet para trabajar ms fcilmente con
R (Rtools), entre la que destacamos: http://www.murdoch-sutherland.com/Rtools/

Documentos y manuales del proyecto R:
Manuales de R en: http://cran.r-project.org/manuals.html
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


4
An Introduction to R proporciona una introduccin al lenguaje R y cmo utilizarlo para
realizar anlisis estadsticos y grficas.
http://cran.r-project.org/doc/manuals/R-intro.html
http://cran.r-project.org/doc/manuals/R-intro.pdf
The R language definition documents the language per se. Objetos y detalle de las
expresiones de los procesos de evaluacin que son tiles para conocer las funciones
de programacin de R.
http://cran.r-project.org/doc/manuals/R-lang.html
http://cran.r-project.org/doc/manuals/R-lang.pdf
Writing R Extensions recoge cmo se crean los propios paquetes, escribir los
ficheros de ayuda y utilizacin de otros lenguajes dentro de R (C, C++, Fortran, ...)
interfaces.
http://cran.r-project.org/doc/manuals/R-exts.html
http://cran.r-project.org/doc/manuals/R-exts.pdf
R Data Import/Export describe cmo se importan y exportan ficheros, tanto con R
como con otros paquetes de ayuda que estn disponibles desde la web de CRAN.
http://cran.r-project.org/doc/manuals/R-data.html
http://cran.r-project.org/doc/manuals/R-data.pdf
R Installation and Administration.
http://cran.r-project.org/doc/manuals/R-admin.html
http://cran.r-project.org/doc/manuals/R-admin.pdf
R Internals: una gua sobre las estructuras internas de R y los estndares de
codificacin par los programadores de R.
http://cran.r-project.org/doc/manuals/R-ints.html
http://cran.r-project.org/doc/manuals/R-ints.pdf
The R Reference Index: contiene todos los ficheros de ayuda del R standar (R
bsico) y paquetes recomendables en formato PFF.
http://cran.r-project.org/doc/manuals/fullrefman.pdf

Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


5


INSTALACIN EN WINDOWS (XP Y
VISTA)

Para trabajar con R en Windows, o en cualquier otro sistema operativo, es suficiente con
instalar el paquete R. No obstante, es recomendable instalar algunos paquetes que
faciliten su uso. Entre ellos se encuentra RCommander. RCommander es un interfaz
grfico que facilita la realizacin de operaciones bsicas como la importacin de datos, la
edicin en una tabla
Si est instalando R en el sistema operativo Windows Vista, por favor, tenga cuidado, ya
que debe tener los permisos necesarios para instalar R como administrador, o disponer de
los permisos necesarios en la cuenta de Windows Vista que utilice. El mismo problema
podemos encontrar cuando instalemos libreras.
Una cuestin importante en relacin a las libreras en R es que R solamente carga un
mnimo de libreras cuando se ejecuta, ocupando poco espacio en memoria. Deberemos
indicar a R que cargue libreras especficas para la sesin en la que estemos trabajando
cuando lo necesitemos (por ejemplo, cargaremos una librera de series temporales en la
sesin actual, pero no en sesiones futuras)
2.1. Instalacin de R en Windows
Para instalar R en Windows seguiremos los siguientes pasos:
1.- Accederemos a http://cran.es.r-project.org/bin/windows/
2.- Seleccionaremos base en la ventana siguiente (o escribiremos: http://cran.es.r-
project.org/bin/windows/base/):
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


6

Figura 1. Descarga del programa R (I)

3.- En la siguiente ventana pulsaremos Download R 2.10.1 for windows u otra versin
posterior si estuviera disponible:

Figura 2. Descarga del programa R (II)

4.- Guardamos el fichero ejecutable R-2.10.1-win32.exe en el disco duro:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


7

Figura 3. Guardar programa R
5.- Cuando se haya descargado completamente, hacemos doble-click en el fichero R-
2.10.1-win32.exe file. Si tenemos una cuenta con privilegios de administrador
podemos instalar R en el rea de Archivos de Programa (Program Files area) y
configurar diversas opciones en el registro de entrada. Si no poseemos privilegios de
administrador, solamente podremos instalar R en nuestra zona de trabajo. En las
recientes versiones de Windows es posible que necesitemos confirmar la instalacin
al provenir de un origen desconocido (unidentified publisher).

Figura 4. Instalacin de R

Figura 5. Mensaje de advertencia en Windows Vista
6.- Seleccionamos el lenguaje de instalacin y pulsamos Aceptar. Este lenguaje de
instalacin no es el mismo que posteriormente aparecer en R. El lenguaje en el que
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


8
se mostrar R posteriormente es el mismo que tenemos definido en nuestro
ordenador.

Figura 6. Seleccin del idioma de instalacin
7.- Se abrir el siguiente cuadro de dilogo. Pulsamos Siguiente:

Figura 7. Bienvenida al proceso de instalacin
8.- Se muestra las condiciones de licencia GNU:

Figura 8. Informacin sobre licencia GNU
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


9
9.- Seleccionamos la localizacin de destino y pulse Siguiente:

Figura 9. Seleccin de la localizacin para almacenar R
10.- Seleccionamos los componentes que desea instalar:

Figura 10. Seleccin de componentes de R
11.- Podemos personalizar las opciones de inicio. Nosotros aceptaremos las opciones por
defecto:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


10

Figura 11. Seleccin de opciones de inicio
12.- Seleccionamos el nombre que desee que aparezca en el men de inicio. Dejaremos R
por defecto:

Figura 12. Seleccin de nombre que desea dar a R en el men de inicio
13.- Seleccione algunos aspectos adicionales para trabajar con R:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


11

Figura 13. Opciones de configuracin de R
14.- R comenzar a instalarse en el ordenador:

Figura 14. Proceso de instalacin de R
15.- Pulsaremos Finalizar cuando el asistente de instalacin acabe:

Figura 15. Final del proceso de instalacin de R
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


12
2.2. Instalacin de RCommander
Este paso no es obligatorio para trabajar con R. RCommander es un interfaz grfico
desarrollado por J ohn Fox que permite realizar anlisis estadsticos sin programacin.
Nuestra recomendacin es instalar este paquete (aunque posteriormente se decida realizar
las rdenes mediante sintaxis) porque facilita la importacin de datos. Una vez que los
datos sean importados, podremos optar por seguir trabajando con RCommander o
directamente desde la Consola de R. Hay informacin sobre la instalacin de
RCommander en:
http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/installation-notes.html.
http://alexjzc.files.wordpress.com/2009/11/empezando-con-rcmdr-es.pdf
1.- Arrancamos R. Para ello, pulsaremos Inicio/Todos los programas y buscaremos
R.2.10.1, haciendo click en l.

Figura 16. Arranque de R
2.- Aparecer la consola de R. En ella podemos escribir comandos para realizar anlisis
estadsticos. Nosotros instalaremos RCommander desde esta consola.

Figura 17. Consola de R.
3.- Para instalar RCommander (el paquete se denomina Rcmdr), escribiremos:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


13
install.packages(Rcmdr, dependencies=TRUE)
Es el texto en rojo de la siguiente ventana:

Figura 18. Consola de R. Instalacin de RCommander
Pulsamos Enter (tecla Intro) para instalar RCommander.
4.- R se conectar a Internet para buscar libreras. Seleccione un mirror cercano a su
localidad y pulse OK al finalizar (el mirror elegido en este proceso es independiente
del lenguaje que desee para trabajar con R). Debe estar conectado a Internet.

Figura 19. Seleccin del mirror para descargar/actualizar libreras
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


14
En el caso de que no tenga conexin a Internet es posible descargar los archivos que
desee en formato zip desde otro ordenador y posteriormente instalarlos:

Figura 20. Instalacin de paquetes sin Internet
6.- Se descargarn algunos ficheros. Espere hasta que el proceso finalice.
2.3. RCommander desde la consola de R RConsole
Este procedimiento es adecuado si solamente deseamos utilizar la ventana de
RCommander en ocasiones.
Opcin I
1.- Nos aseguramons de que ha instalado RCommander siguiendo los pasos de la fase
2.b.anterior.
2.- En Rconsole escribimos:
library(Rcmdr)
3.- Pulsamos Enter.
4.- La ventana de RCommander aparecer en el idioma en el que se encuentra nuestro
ordenador:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


15

Figura 21. Ventana de RCommander
5.- La ventana de RCommander contiene un men en la parte superior al que se puede
acceder a travs del ratn o del teclado, una ventana de instrucciones donde se
pueden escribir las instrucciones y una ventana de resultados.
Cuando se realiza un anlisis a partir de los mens, se escribe automticamente la
sintaxis en la ventana de instrucciones y se muestran los resultados en la ventana de
resultados.
Para ejecutar una instruccin en la ventana de instrucciones, posicionamos el cursor
en la lnea del anlisis que deseamos realizar y pulsamos el botn de Ejecutar.
En el caso de que desee ejecutar varias lneas conjuntamente, puede hacerlo una a
una (siguiendo el orden de la superior a la inferior) o bien seleccionar todas ellas
conjuntamente con el ratn o el cursor y pulsar el botn ejecutar.
Opcin II
Este procedimiento instala RCommander de forma visual, sin teclear en la consola de R.
Es necesario tener acceso a Internet.
1.- Nos aseguraremos previamente de que ha instalado RCommander siguiendo los pasos
de la fase anterior.
2.- Seleccionamos Paquetes\Cargar paquete
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


16

Figura 22. Cargar paquetes
3.- Seleccionamos el paquete Rcmdr y pulsamos OK.

Figura 23. Cargar paquete Rcmdr
2.4. Ejecucin automtica de RCommander
Este procedimiento es adecuado si deseamos que RCommander aparezca
automticamente cuando arranca R.
1.- Cerramos R si estuviera abierto.
2.- Buscamos el fichero Rprofile.site en el disco duro. Estar en la subdirectorio etc.
dentro del directorio con los ficheros de la instalacin de R.
3.- Abrimos el fichero Rprofile.site con un editor de textos (Notepad, por ejemplo). Tendr
una apariencia semejante a la siguiente:
#Things you might want to change
#options(papersize=a4)
#options(editor=notepad)
#options(pager=internal)

#set the default help type
#options(help_type=text)
options(help_type=html)
#set a site library
#.Library.site <- file.path(chartr(\\, /, R.home()), site-library)
#set a CRAN mirror
#local({r <- getOption(repos)
# r[CRAN] <- http://my.local.cran
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


17
# options(repos=r)})

4.- Al final del fichero aadimos el siguiente texto:
local({
old <- getOption("defaultPackages")
options(defaultPackages =c(old, " Rcmdr"))
})
5.- Guardamos el fichero Rprofile.site con la modificacin realizada, con el mismo nombre
y en el mismo directorio. Debemos asegurarnos que la extensin del fichero guardado
es site y no otras como txt o doc.
6.- Ejecutamos R. Se cargar automticamente RCommander.
2.5. Seleccin del idioma de R
Es posible trabajar con R en un gran nmero de idiomas. R detecta automticamente el
idioma de su ordenador y carga los mens correspondientes en ese idioma. Si deseamos
trabajar con otro lenguaje en Windows XP, pulsaremos Inicio\ Panel de Control\
Configuracin Regional y de Idioma\ y cambie el idioma.
En Windows Vista solamente podremos cambiar el idioma con facilidad si disponemos de
la versin Profesional y tenemos instalado el mdulo multilenguaje.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


18


IMPORTACIN DE DATOS

Realizaremos las distintas importaciones de datos desde el paquete RCommander. En el
caso de que se desee realizar desde la consola de R, es posible copiar la instruccin de la
sintaxis que aparece en RCommander y pegar esa instruccin en la consola de R.

3.1. Importacin de un fichero ASCII
Utilizaremos el fichero empltab_R.txt que contiene 4 individuos de los que se conoce el
nombre, los dos apellidos, la edad, la calle y el piso (en total 6 variables). En este fichero la
primera fila contiene el nombre de las variables. En este caso, el delimitador que separa
las variables es un tabulador.
nombre Apellido1 Apellido2 Edad Calle Piso
J uan Martnez Olivera 43 Santa Clara, 5 6
Mara Fierro Menndez 24 Camino Real, s/n 3
J ess Manuel Fernndez Reguera 35 4
Ruth Mara Del Pino Del Ro La Iglesia, 15 24


Para importar datos de un fichero de cdigo ASCII seguiremos los siguientes pasos:
1.- Seleccionamos Datos\ Importar datos\ desde archivo de texto, portapapeles o URL:

Figura 24. Importacin de fichero ASCII en R (I)
2.- Se da un nombre a la base de datos que deseamos importar (i.e.: Empleados).
Marcamos Nombres de las variables en el fichero si nuestro fichero contiene los
nombres de las variables en la primera lnea. En caso contrario lo dejamos en blanco.
Seleccionamos el tipo de separador de campos (delimitador). En nuestro caso es un
tabulador. Seleccionamos si los decimales se encuentran especificados con puntos o
con comas y pulsamos Aceptar para finalizar.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


19

Figura 25. Importacin de fichero ASCII en R (I)
3.- Buscamos el fichero que contiene la base en cdigo ASCII que se desea importar:

Figura 26. Importacin de fichero ASCII en R (II)
La ventana de RCommander cambiar:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


20

Figura 27. Importacin de fichero ASCII en R (III)
Debajo de los mens aparecer el Conjunto de datos: con la nueva base de datos
Empleados en color azul. En la ventana de instrucciones encontraremos:
Empleados <- read.table(I:/R_Manual/empltab_R.txt, header=TRUE, sep=\t,
na.strings=NA, dec=., strip.white=TRUE)
Si hubiramos escrito este texto en la ventana de instrucciones y posteriormente pulsamos
el botn Ejecutar el resultado hubiera sido el mismo.
El smbolo <- indica que todos los datos ledos definidos a la derecha de ese smbolo
sern llevados a lo que hemos escrito a la izquierda del smbolo Empleados.
En la ventana de resultados y en la de mensajes podemos comprobar que la importacin
no ha tenido problemas.
4.- Comprobamos que la importacin ha sido correcta editando el conjunto de datos.
Pulsamos Editar conjunto de datos.
5.- Resultado de la importacin:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


21

Figura 28. Importacin de fichero ASCII en R (V)
En la ventana anterior se pueden aadir nuevos individuos y modificar datos existentes.
6.- Tambin es posible visualizar los datos sin modificarlos:

Figura 29. Importacin de fichero ASCII en R (VI)

Figura 30. Importacin de fichero ASCII en R (VII)
7.- La base de datos se guardar pulsando Datos\Conjunto de datos activo\Guardar el
conjunto de datos activos. El fichero se grabar con la extensin rda.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


22

Figura 31. Guardar el conjunto de datos activos

Read an ASCII Data File
Data Input

Description
Reads a file in table format and creates a data frame from it, with cases corresponding to lines and
variables to fields in the file.
Usage
read.table(file, header =FALSE, sep =, quote =\,
dec =., row.names, col.names,
as.is =!stringsAsFactors,
na.strings =NA, colClasses =NA, nrows =-1,
skip =0, check.names =TRUE, fill =!blank.lines.skip,
strip.white =FALSE, blank.lines.skip =TRUE,
comment.char =#,
allowEscapes =FALSE, flush =FALSE,
stringsAsFactors =default.stringsAsFactors(),
encoding =unknown)

read.csv(file, header =TRUE, sep =,, quote=\, dec=.,
fill =TRUE, comment.char=, ...)

read.csv2(file, header =TRUE, sep =;, quote=\, dec=,,
fill =TRUE, comment.char=, ...)

read.delim(file, header =TRUE, sep =\t, quote=\, dec=.,
fill =TRUE, comment.char=, ...)

read.delim2(file, header =TRUE, sep =\t, quote=\, dec=,,
fill =TRUE, comment.char=, ...)
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


23
Arguments
file The name of the file which the data are to be read from. Each row of the table
appears as one line of the file. If it does not contain an absolute path, the file name
is relative to the current working directory, getwd(). Tilde-expansion is
performed where supported.
Alternatively, file can be a readable connection (which will be opened for reading
if necessary, and if so closed (and hence destroyed) at the end of the function
call). (If stdin() is used, the prompts for lines may be somewhat confusing.
Terminate input with a blank line or an EOF signal, Ctrl-D on Unix and Ctrl-Z on
Windows. Any pushback on stdin() will be cleared before return.). File can also be
a complete URL.
To read a data file not in the current encoding (for example a Latin-1 file in a UTF-
8 locale or conversely) use a file connection setting the encoding argument.
header A logical value indicating whether the file contains the names of the variables as
its first line. If missing, the value is determined from the file format: header is set
to TRUE if and only if the first row contains one fewer field than the number of
columns.
sep The field separator character. Values on each line of the file are separated by this
character. If sep = (the default for read.table) the separator is white space, that
is one or more spaces, tabs, newlines or carriage returns.
quote The set of quoting characters. To disable quoting altogether, use quote = . See
scan for the behaviour on quotes embedded in quotes. Quoting is only considered
for columns read as character, which is all of them unless colClasses is specified.
dec The character used in the file for decimal points.
row.names A vector of row names. This can be a vector giving the actual row names, or a
single number giving the column of the table which contains the row names, or
character string giving the name of the table column containing the row names.
If there is a header and the first row contains one fewer field than the number of
columns, the first column in the input is used for the row names. Otherwise if
row.names is missing, the rows are numbered.
Using row.names = NULL forces row numbering. Missing or NULL row.names
generate row names that are considered to be automatic (and not preserved by
as.matrix).
col.names A vector of optional names for the variables. The default is to use V followed by
the column number.
as.is The default behavior of read.table is to convert character variables (which are not
converted to logical, numeric or complex) to factors. The variable as.is controls
the conversion of columns not otherwise specified by colClasses. Its value is either
a vector of logicals (values are recycled if necessary), or a vector of numeric or
character indices which specify which columns should not be converted to
factors.
Note: to suppress all conversions including those of numeric columns, set
colClasses = character.
Note that as.is is specified per column (not per variable) and so includes the
column of row names (if any) and any columns to be skipped.
na.strings A character vector of strings which are to be interpreted as NA values. Blank
fields are also considered to be missing values in logical, integer, numeric and
complex fields.
colClasses Character. A vector of classes to be assumed for the columns. Recycled as
necessary, or if the character vector is named, unspecified values are taken to be
NA.
Possible values are NA (when type.convert is used), NULL (when the column is
skipped), one of the atomic vector classes (logical, integer, numeric, complex,
character, raw), or factor, Date or POSIXct. Otherwise there needs to be an as
method (from package methods) for conversion from character to the specified
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


24
formal class.
Note that colClasses is specified per column (not per variable) and so includes the
column of row names (if any).
nrows Integer: the maximum number of rows to read in. Negative and other invalid
values are ignored.
skip Integer: the number of lines of the data file to skip before beginning to read data.
check.names Logical. If TRUE then the names of the variables in the data frame are checked to
ensure that they are syntactically valid variable names. If necessary they are
adjusted (by make.names) so that they are, and also to ensure that there are no
duplicates.
fill Logical. If TRUE then in case the rows have unequal length, blank fields are
implicitly added. See Details.
strip.white Logical. Used only when sep has been specified, and allows the stripping of
leading and trailing white space from character fields (numeric fields are always
stripped). See scan for further details, remembering that the columns may include
the row names.
blank.lines.skip Logical: if TRUE blank lines in the input are ignored.
comment.char Character: a character vector of length one containing a single character or an
empty string. Use to turn off the interpretation of comments altogether.
allowEscapes Logical. Should C-style escapes such as \n be processed or read verbatim (the
default)? Note that if not within quotes these could be interpreted as a delimiter
(but not as a comment character). For more details see scan.
flush Logical: if TRUE, scan will flush to the end of the line after reading the last of the
fields requested. This allows putting comments after the last field.
stringsAsFactors Logical: should character vectors be converted to factors?
encoding Encoding to be assumed for input strings. It is used to mark character strings as
known to be in Latin-1 or UTF-8: it is not used to re-encode the input. For an
example of how to do so, see the examples under file.
... Further arguments to be passed to read.table.
Details
This function is the principal means of reading tabular data into R.
A field or line is blank if it contains nothing (except whitespace if no separator is specified) before a
comment character or the end of the field or line.
If row.names is not specified and the header line has one less entry than the number of columns, the
first column is taken to be the row names. This allows data frames to be read in from
the format in which they are printed. If row.names is specified and does not refer to the
first column, that column is discarded from such files.
The number of data columns is determined by looking at the first five lines of input (or the whole file if
it has less than five lines), or from the length of col.names if it is specified and is longer.
This could conceivably be wrong if fill or blank.lines.skip are true, so specify col.names
if necessary.
read.csv and read.csv2 are identical to read.table except for the defaults. They are intended for reading
comma separated value files (.csv) or (read.csv2) the variant used in countries that
use a comma as decimal point and a semicolon as field separator. Similarly, read.delim
and read.delim2 are for reading delimited files, defaulting to the TAB character for the
delimiter. Notice that header = TRUE and fill = TRUE in these variants, and that the
comment character is disabled.
The rest of the line after a comment character is skipped; quotes are not processed in comments.
Complete comment lines are allowed provided blank.lines.skip = TRUE; however,
comment lines prior to the header must have the comment character in the first non-
blank column.
Quoted fields with embedded newlines are supported except after a comment character.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


25
Note that unless colClasses is specified, all columns are read as character columns and then converted.
This means that quotes are interpreted in all fields and that a column of values like 42
will result in an integer column.
Value
A data frame (data.frame) containing a representation of the data in the file. Empty input is an error
unless col.names is specified, when a 0-row data frame is returned: similarly giving just
a header line if header = TRUE results in a 0-row data frame. Note that in either case
tthe columns will logical unless colClasses was supplied. Character strings in the result
(including factor levels) will have a declared encoding if encoding is latin1 or UTF-8.
Note
The columns referred to in as.is and colClasses include the column of row names (if any). Less memory
will be used if colClasses is specified as one of the six atomic vector classes. This can be
particularly so when reading a column that takes many distinct numeric values, as
storing each distinct value as a character string can take up to 14 times as much
memory as storing it as an integer.
Using nrows, even as a mild over-estimate, will help memory usage.
Using comment.char = will be appreciably faster than the read.table default.
read.table is not the right tool for reading large matrices, especially those with many columns: it is
designed to read data frames which may have columns of very different classes. Use
scan instead.
References
Chambers, J. M. (1992) Data for models. Chapter 3 of Statistical Models in S eds J. M. Chambers and T. J.
Hastie, Wadsworth & Brooks/Cole.
See Also
The R Data Import/Export manual.
scan, type.convert, read.fwf for reading fixed width formatted input; write.table; data.frame.
count.fields can be useful to determine problems with reading files which result in reports of incorrect
record lengths.
function findlink(pkg, fn) { var Y, link; Y = location.href.lastIndexOf(\\) + 1; link =
location.href.substring(0, Y); link = link + ../../ + pkg + /chtml/ + pkg + .chm::/ + fn;
location.href = link; }
R Data Import/Export describes the import and export facilities available either in R itself or via
packages which are available from CRAN:
http://www.r-project.org/manuals/R-data.html, http://cran.r-project.org/doc/manuals/R-exts.pdf

3.2. Importacin de un fichero de SPSS
Para importar datos del fichero de SPSS denominado world95.sav, seguimos los
siguientes pasos:
1.- Datos\Importar datos\desde datos SPSS.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


26

Figura 32. Importacin de fichero SPSS en R (I)
2.- Elegimos el nombre que se le desea dar a la base de datos dentro de R. En el ejemplo
Datos_1.

Figura 33. Importacin de fichero SPSS en R (II)
3.- Seleccionamos el fichero de SPSS

Figura 34. Importacin de fichero SPSS en R (III)
4.- En la ventana de instrucciones aparecer la instruccin equivalente a realizar los dos
pasos anteriores:
DataBase_2 <- read.spss(I:/world95.sav, use.value.labels=TRUE,
max.value.labels=Inf, to.data.frame=TRUE)
Esta instruccin contiene algunos valores por defecto que pueden ser modificados
(ver apartado arguments posteriormente).
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


27
Se podra escribir la instruccin anterior en la ventana de instrucciones y pulsar
ejecutar, obteniendo el mismo resultado.
5.- Si pulsamos en World_95:

Figura 35. Importacin de fichero SPSS en R (IV)
Se abre un cuadro de dilogo en el que podemos seleccionar la base de datos con la
que queremos trabajar.


Figura 36. Importacin de fichero SPSS en R (V)


Read an SPSS Data File
Data Input

Description
Read.spss reads a file stored by the SPSS save or export commands.
Usage
read.spss(file, use.value.labels = TRUE, to.data.frame = FALSE, max.value.labels = Inf, trim.factor.names
= FALSE, trim_values = TRUE, reencode = NA)
Arguments
file Character string: the name of the file to read.
use.value.labels Convert variables with value labels into R factors with those levels?
to.data.frame return a data frame?
max.value.labels Only variables with value labels and at most this many unique values will be
converted to factors if use.value.labels = TRUE.
Esta opcin solamente se utiliza para las variables que tienen definidas etiquetas
en SPSS.
trim.factor.names Logical: trim trailing spaces from factor levels?
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


28
trim_values logical: should values and value labels have trailing spaces ignored when
matching for use.value.labels = TRUE?
reencode logical: should character strings be re-encoded to the current locale. The default,
NA, means to do so in a UTF-* locale, only. Alternatively character, specifying an
encoding to assume.
Details
This uses modified code from the PSPP project for reading the SPSS formats:
(http://www.gnu.org/software/pspp/).
Occasionally in SPSS value labels will be added to some values of a continuous variable (eg to
distinguish different types of missing data), and you will not want these variables
converted to factors. By setting max.val.labels you can specify that variables with a large
number of distinct values are not converted to factors even if they have value labels. In
addition, variables will not be converted to factors if there are non-missing values that
have no value label. The value labels are then returned in the value.labels attribute of
the variable.
If SPSS variable labels are present, they are returned as the variable.labels attribute of the answer.
Fixed length strings (including value labels) are padded on the right with spaces by SPSS, and so are
read that way by R. The default argument trim_values=TRUE causes trailing spaces to
be ignored when matching to value labels, as examples have been seen where the
strings and the value labels had different amounts of padding. See the examples for sub
for ways to remove trailing spaces in charcter data.
Value
A list (or data frame) with one component for each variable in the saved data set.
If what looks like a Windows codepage was recorded in the SPSS file, it is attached (as a
number) as attribute codepage to the result.
There may be attributes label.table and variable.labels. Attribute label.table is a named list of
value labels with one element per variable, either NULL or a names character vector.
Attribute variable.labels is a named character vector with names the short variable
names and elements the long names.
Note
If SPSS value labels are converted to factors the underlying numerical codes will not in general be the
same as the SPSS numerical values, since the numerical codes in R are always 1,2,3,...
You may see warnings about the file encoding for SPSS save files: it is possible such files contain non-
ASCII character data which need re-encoding. The most common occurrence is
Windows codepage 1252, a superset of Latin-1. The encoding is recorded (as in integer)
in attribute codepage of the result if it looks like a Windows codepage.
Author(s)
Saikat DebRoy and the R Core team
Examples
## Not run: read.spss(datafile)
## dont convert value labels to factor levels read.spss(datafile, use.value.labels = FALSE)
## convert value labels to factors for variables with at most ten distinct values. read.spss(datafile,
max.val.labels = 10)
## End(Not run)
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


29
See Also
http://cran.r-project.org/doc/manuals/R-data.html
R Data Import/Export describes the import and export facilities available either in R itself or via
packages which are available from CRAN:
http://www.r-project.org/manuals/R-data.html, http://cran.r-project.org/doc/manuals/R-exts.pdf
3.3. Importacin de ficheros EXCEL
Para importar datos del fichero de EXCEL denominado Olive_Product.xls, seguimos los
siguientes pasos:
1.- Datos\Importar datos\desde conjunto de datos Excel, Access o dBase.

Figura 37. Importacin de fichero EXCEL en R (I)
2.- Elegimos el nombre que deseaamos dar a la base de datos dentro de R. En el ejemplo
Product.

Figura 38. Importacin de fichero EXCEL en R (II)
3.- Seleccionamos el fichero de EXCEL cuando se abra el cuadro de dilogo.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


30

Figura 39. Importacin de fichero EXCEL en R (III)
4.- Si el fichero de de EXCEL tuviera varias tablas tendramos que seleccionar la hoja con
la que deseamos trabajar, por ejemplo la Hoja1:

Figura 40. Importacin de fichero EXCEL en R (IV)
5.- En la ventana de instrucciones aparecer la instruccin equivalente a realizar el paso
anterior:
Product <- sqlQuery(channel =3, select * from [Hoja1$])
Esta instruccin contiene algunos valores por defecto que pueden ser modificados
(ver apartado arguments posteriormente).
6. Pulsando Visualizar conjunto de datos obtenemos la siguiente tabla:

Figura 41. Importacin de fichero EXCEL en R (V)
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


31
7.- Si deseamos acceder a la ayuda de la importacin teclearemos help(sqlQuery) en la
ventana de sintaxis y pulsaremos Intro:



Query an ODBC database
Data Input

Description
Submit an SQL query to an ODBC database, and retrieve the results.
Usage
sqlQuery(channel, query, errors = TRUE, ..., rows_at_time = 1)
sqlGetResults(channel, as.is = FALSE, errors = FALSE,
max = 0, buffsize = 1000,
nullstring = NA, na.strings = NA,
believeNRows = TRUE, dec = getOption(dec),
stringsAsFactors = default.stringsAsFactors())
Arguments
channel connection handle as returned by odbcConnect.
query any valid SQL statement
errors if TRUE halt and display error, else return -1
... additional arguments to be passed to sqlGetResults.
rows_at_time The number of rows to fetch at a time, up to 1024. Not all drivers work correctly
with values > 1. See Details.
as.is which (if any) character columns should be converted, as in read.table? See the
details.
max limit on the number of rows to fetch, with 0 indicating no limit.
buffsize an initial guess at the number of rows, used if max = 0 and believeNRows ==
FALSE for the driver.
nullstring character string to be used when reading SQL_NULL_DATA character items from
the database.
na.strings character string(s) to be mapped to NA when reading character data.
believeNRows logical. Is the number of rows returned by the ODBC connection believable? This
might already be set to false when the channel was opened, and can that setting
cannot be overridden.
dec The character for the decimal place to be assumed when converting character
columns to numeric.
stringsAsFactors should character columns not excluded by as.is and not converted to anything
else be converted to factors?
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


32
Details
sqlQuery is the workhorse function of RODBC. It sends the SQL statement query to the server, using
connection channel returned by odbcConnect, and retrieves (some or all of) the results
via sqlGetResults.
SQL beginners should note that the term Query includes any valid SQL statement including table
creation, alteration, updates etc as well as SELECTs. The sqlQuery command is a
convenience wrapper that calls first odbcQuery and then sqlGetResults. If finer-grained
control is needed, for example over the number of rows fetched, these functions should
be called directly or additional arguments passed to sqlQuery.
sqlGetResults is a mid-level function. It should be called after a call to sqlQuery or odbcQuery and used
to retrieve waiting results into a data frame. Its main use is with max set to non-zero
when it will retrieve the result set in batches with repeated calls. This is useful for very
large result sets which can be subjected to intermediate processing.
Where possible sqlGetResults transfers data directly: this happens for double, real, integer and
smallint columns in the table. All other SQL data types are converted to character
strings by the ODBC interface. If the as.is is true for a column, it is returned as character.
Otherwise (where detected) date, datetime and timestamp values are converted to
Date and POSIXct values respectively. (Some drivers seem to confuse times with
dates, so times may get converted too.) Other types are converted by R using
type.convert. When character data are to be converted to numeric data, the setting of
options(dec) to map the character used up the ODBC driver in setting decimal
pointsthis is set to a locale-specific value when RODBC is initialized if it is not already
set.
Using buffsize will yield a marginal increase in speed if set to no less than the maximum number of
rows when believeNRows = FALSE. (If set too small it can result in unnecessarily high
memory use as the buffers will need to be expanded.)
Modern drivers should work (and work faster, especially if communicating with a remote machine)
with rows_a_time = 1024. However, some drivers may mis-fetch multiple rows, so set
this to 1 if the results are incorrect.
Value
A data frame (possibly with 0 rows) on success. If errors = TRUE, a character vector of error
message(s), otherwise error code -1 (general, call odbcGetErrMsg for details) or -2 (no
data, which may not be an error as some SQL commands do return no data).
Author(s)
Michael Lapsley and Brian Ripley
See Also
odbcConnect, sqlFetch, sqlSave, sqlTables, odbcQuery
Examples
## Not run:
channel <- odbcConnect(test)
sqlSave(channel, USArrests, rownames = State, verbose = TRUE)
# options(dec=.) # optional, if DBMS is not locale-aware
## note case of State, Murder, rape are DBMS-dependent.
sqlQuery(channel, paste(select State, Murder from USArrests,
where Rape > 30 order by Murder))
close(channel)
## End(Not run)
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


33


ESTADSTICOS DESCRIPTIVOS

Realizaremos las distintas importaciones de datos desde el paquete RCommander. En el
caso de que queramos efectuarlas desde la consola de R, es posible copiar la instruccin
de la sintaxis que aparece en RCommander y pegar esa instruccin en la consola de R.
4.1. Obtencin de un resumen de la tabla de datos completa
Si deseamos obtener un resumen de todas las variables que se encuentran en la base de
datos activa, pulsaremos Estadsticos\Resmenes\Conjunto de datos activos:


Figura 42. Resumen de la tabla de datos completa (I)
R indicar el nmero de variables que contiene la base de datos y nos preguntar si
deseamos continuar:

Figura 43. Resumen de la tabla de datos completa (II)
Si las variables son cuantitativas el programa calcular el mnimo, el mximo, el primer,
segundo (Mediana) y tercer cuartil, as como la media. Si las variables son cualitativas har
un recuento de las modalidades.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


34


Figura 44. Resumen de la tabla de datos completa (III)
4.2. Seleccin una variable numrica y obtencin de estadsticos de resumen
Si deseamos seleccionar las variables para analizar, pulsaremos Estadsticos\
Resmenes\ Resmenes numricos:

Figura 45. Resumen de una seleccin de variables (I)
A continuacin seleccionamos una o ms variables numricas. Si queremos seleccionar
variables no contiguas utilizaremos la tecla de control Ctrl.

Figura 46. Resumen de una seleccin de variables (II)
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


35
Si queremos obtener los resultados para cada uno de los grupos de otra variable
(segmentando el archivo por esa variable), seleccionaremos la variable de segmentacin.
En caso contrario pulsaremos Cancelar.

Figura 47. Resumen de una seleccin de variables (III)

La instruccin en R es:
numSummary(World_95[,poblac], statistics=c(mean, sd, quantiles),
quantiles=c(0,.25,.5,.75,1))
El resultado que se obtiene es:


Figura 48. Resumen de una seleccin de variables (IV)





Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


36


PRUEBAS DE NORMALIDAD

Desde el mdulo de RCommander es posible obtener el test de Shapiro-Wilk. Hay otros
tests de normalidad que pueden obtenerse instalando diversas libreras:
- nortest:
http://cran.rakanu.com/web/packages/nortest/index.html
- mvnormtest:
http://cran.rakanu.com/web/packages/mvnormtest/index.html
- normwn.test:
http://cran.rakanu.com/web/packages/normwn.test/index.html
5.1. Instalacin de la librera nortest
1.- Para instalar la librera nortest, accedemos a la direccin de Internet:
http://cran.rakanu.com/web/packages/nortest/index.html
Version: 1.0
Author: Juergen Gross
Maintainer: Juergen Gross <gross at statistik.uni-dortmund.de>
License: GPL version 2 or newer
CRAN checks: nortest results
Downloads:
Package source: nortest_1.0.tar.gz
MacOS X binary: nortest_1.0.tgz
Windows binary: nortest_1.0.zip
Reference manual: nortest.pdf
Fichero ayuda http://pbil.univ-lyon1.fr/library/nortest/html/
00Index.html
2.- Pulsamos nortest_1.0.zip y lo guardamos en el ordenador.
3.- Pulsamos Paquetes\Instalar paquetes a partir de archivos zip locales:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


37

Figura 49. Instalacin del paquete nortest (I)
4.- Buscamos nortest_1.0.zip en el lugar donde lo hemos guardado y pulsamos abrir.
5.- Si estamos utilizando Windows Vista es posible que obtengamos el siguiente error de
permisos:
ls:::menuInstallLocal()
package nortest successfully unpacked and MD5 sums checked
updating HTML package descriptions
Warning in file.create(f.tg) :
cannot create file C:\PROGRA~1\R-2.10.1/doc/html/packages.html, reason
Permission denied
6.- Buscamos en el men de programas el logo de R. Situamos el ratn sobre el logo
anterior y pulsamos el botn derecho del ratn. Se desplegar la siguiente ventana:

Figura 50. Instalacin del paquete nortest (II)
Pulsamos Ejecutar como administrador y en la siguiente ventana que aparezca,
pulsamos Permitir la instalacin de la librera. Si el proceso ha sido correcto aparecer el
siguiente texto:
ls:::menuInstallLocal()
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


38
package nortest successfully unpacked and MD5 sums checked
updating HTML package descriptions
5.2. Test de Shapiro-Wilk de normalidad
El test de Shapiro-Wilk se encuentra en el mdulo base de R, no necesitando instalar
ninguna librera. Utilizaremos la variable poblac del fichero de datos world95.sav.
1.- Pulsamos Estadsticos\Resmenes\Test de normalidad de Shapiro-Wilk.

Figura 51. Test de normalidad de Shapiro-Wilk (I)
2.- Seleccionamos la variable poblac y pulse Aceptar:

Figura 52. Test de normalidad de Shapiro-Wilk (II)

3.- En la ventana de resultados el test muestra un valor p de 2.2e-16 menor que 0.05 (alfa
o error tipo I que depender del campo en el que estemos trabajando), por lo que se
rechaza la hiptesis nula de que la variable poblac se distribuye como una
distribucin normal.

Figura 53. Test de normalidad de Shapiro-Wilk (III)
4.- Alternativamente, podramos haber escrito la instruccin siguiente, donde x es el
nombre de la variable. Crearemos una nueva variable x a partir de la variable poblac
y realizaremos el test:
x<- World_95$poblac
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


39
shapiro.test(x)
O bien escribiendo directamente: shapiro.test(World_95$poblac)
5.3. Anderson-Darling test de normalidad
El test de Anderson-Darling se encuentra en la librera nortest. Tenemos que
asegurarnos que esta librera se encuentre instaladada (escribiremos library(nortest) en
la consola de R).
Utilizaremos la variable poblac del fichero de datos world95.sav.
1.- Creamos una nueva variable x en el caso de que no lo haya hecho anteriormente:
x<- World_95$poblac
2.- Escribimos en la consola de R:
ad.test(x)
O bien directamente: ad.test(World_95$poblac)
3.- En la ventana de resultados el test muestra un valor p de 2.2e-16 menor que 0.05 (alfa
o error tipo I que depender del campo en el que estemos trabajando), por lo que se
rechaza la hiptesis nula de que la variable poblac se distribuye como una
distribucin normal.


Figura 54. Test de normalidad de Anderson-Darling
5.4. Cramer-von Mises test de normalidad
El test de Cramer-con Mises se encuentra en la librera nortest. Tenemos que
asegurarnos que esta librera se encuentre instalada (escribiremos library(nortest) en la
consola de R).
1.- Creamos una nueva variable x en el caso de que no lo haya hecho anteriormente:
x<- World_95$poblac
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


40
2.- Escriba en la consola de R:
cvm.test(x)
O bien directamente: cvm.test (World_95$poblac)
3.- En la ventana de resultados el test muestra un valor p de 7.358e+68. Existe un error, ya
que el + debiera ser un -.

Figura 55. Test de normalidad de Cramer-von Mises
5.5. Lilliefors (Kolmogorov-Smirnov) test de normalidad
El test de Lilliefors, tambin conocido como test de Kolmogorov-Smirnov ajustado o
corregido, se encuentra en la librera nortest. Nos asguramos que esta librera est
instalada (escribimos library(nortest) en la consola de R).
1.- Creamos una nueva variable x en el caso de que no lo haya hecho anteriormente:
x<- World_95$poblac
2.- Escribimos en la consola de R:
lillie.test(x)
O bien directamente: lillie.test (World_95$poblac)
3.- En la ventana de resultados el test muestra un valor p de 2.2e-16 menor que 0.05 (alfa
o error tipo I que depender del campo en el que estemos trabajando), por lo que se
rechaza la hiptesis nula de que la variable poblac se distribuye como una
distribucin normal.

Figura 56. Test de normalidad de Lilliefors
5.6. Shapiro-Francia test de normalidad
El test de Shapiro-Francia se encuentra en la librera nortest. Asegrese de tener esta
librera instalada.
1.- Creamos una nueva variable x en el caso de que no lo hayamos hecho anteriormente:
x<- World_95$poblac
El nmero de casos del vector x debe estar entre 5 y 5000.
2.- Escribimos en la consola de R:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


41
sf.test(x)
O bien directamente: sf.test (World_95$poblac)
3.- En la ventana de resultados el test muestra un valor p de 2.2e-16 menor que 0.05 (alfa
o error tipo I que depender del campo en el que estemos trabajando), por lo que se
rechaza la hiptesis nula de que la variable poblac se distribuye como una
distribucin normal.

Figura 57. Test de normalidad de Shapiro-Francia
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


42


CORRELACIN LINEAL

En el estudio bidimensional de dos variables, frecuentemente consideramos la posibilidad
de que la relacin entre la variable dependiente (explicada) y una variable independiente
(explicativa) sea lineal. Generalmente esta consideracin permite el buen funcionamiento
de un modelo de regresin mltiple, a pesar de que las relaciones no sean estrictamente
lineales. En el caso de tener un modelo con tan slo una variable independiente la
suposicin de linealidad suele ser demasiado estricta y es posible que la relacin no sea
de tipo lineal pero que podamos encontrar otro tipo de funcin no lineal que explique la
relacin entre las variables. En definitiva, la comodidad de trabajar con modelos lineales,
especialmente en cuanto a la facilidad de interpretacin, no debiera hacernos olvidar otro
tipo de relaciones.
En ocasiones encontramos que para las diferentes combinaciones entre dos variables se
obtiene una relacin lineal, por ejemplo un sector en el que las empresas oscilan entre 100
y 5000 unidades monetarias de ventas y de 10 a 50 trabajadores. Ello no debe llevarnos a
suponer que las combinaciones que se encuentran fuera de los intervalos sealados
tambin se comporten linealmente. De hecho, puede decirse que el mundo no es lineal
pero en muchas ocasiones para pequeos intervalos de las variables se comporta como si
lo fuera. Por ello, no debe utilizarse el anlisis de regresin (o lo resultados derivados de la
correlacin lineal de Pearson) como un instrumento para predecir valores de la variable
dependiente que se encuentren alejados de los valores muestrales, bien sean mayores o
menores que estos.
Debido a que el coeficiente de correlacin lineal de Pearson elevado al cuadrado coincide
con el coeficiente de determinacin del anlisis de regresin lineal simple, estos dos
anlisis frecuentemente aparecen realizados de forma conjunta.
Dentro del estudio de la linealidad entre variables, comenzaremos con las
representaciones grficas, cuantificando numricamente esta relacin con el coeficiente de
correlacin lineal de Pearson y finalmente la utilizacin del coeficiente de correlacin
parcial.
6.1. Linealidad. Representacin grfica
Una primera aproximacin al estudio bidimensional entre variables es la representacin
grfica para observar la naturaleza de relacin entre dos variables. En la figura de la
izquierda la relacin entre las dos variables es claramente lineal, mientras que esa relacin
no lo es en la grfica de la derecha.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


43

Figura 58. Estudio del tipo de relacin entre dos variables
En la prctica no siempre es sencillo determinar si la relacin entre dos variables es lineal
o no lo es. En algunos campos se realizan anlisis sobre variables transformadas,
utilizando transformaciones logartmicas lg(y), inversas (1/y), etc. Estas transformaciones
tambin es posible realizarlas sobre las variables independientes, o sobre ambas.
6.2. Correlacin lineal de Pearson
El coeficiente de correlacin de Pearson mide la relacin lineal y su sentido entre dos
variables cuantitativas que estn medidas al menos en escala de intervalo. Vara entre 1
y +1. Un valor de +1 indica correlacin lineal perfecta directa o positiva (incremento de una
variable est relacionado perfectamente con el incremento de la otra variable) y un valor de
-1 indica correlacin lineal perfecta o negativa (la disminucin de una variable est
perfectamente relacionada con la disminucin de la otra). El coeficiente de correlacin
lineal de Pearson elevado al cuadrado indica el tanto por ciento de la varianza de una
variable que es explicada por la otra suponiendo que la relacin fuera lineal. Su expresin
es:
|
|
.
|

\
|
|
|
.
|

\
|

|
|
.
|

\
|
|
|
.
|

\
|

|
|
.
|

\
|
|
|
.
|

\
|

= =


= = = =
= = = =
q q p p Y X
XY
XY
n y n x n x n x
n y n x n y x
S S
S
r
1 j
2
1 j
.j j .j
2
j
1 i
2
1 i
i. i i.
2
i
q
1 j
.j j
p
1 i
i. i
p
1 i
q
1 j
ij j i
N N
N

Debe tenerse en cuenta que el coeficiente de correlacin de Pearson requiere que la
variable sea continua, medida en una escala al menos de intervalo y que la relacin sea
lineal. Este coeficiente tiene un funcionamiento ptimo cuando se cumplen los supuestos
de normalidad, en caso contrario la idoneidad en su aplicacin disminuye ya que el valor p
(significacin) se construye bajo supuesto de normalidad.
Las correlaciones son medidas de asociacin lineal. Esto significa que dos variables
pueden estar perfectamente relacionadas, pero si la relacin no es lineal, el coeficiente de
correlacin no es un estadstico adecuado para medir su asociacin.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


44
6.3. Coeficiente de correlacin parcial de Pearson
Mientras que el coeficiente de correlacin lineal de Pearson describe la relacin lineal
existente entre dos variables, el coeficiente de correlacin parcial describe esta relacin
lineal entre dos variables pero controlando los efectos de una o ms variables adicionales,
es decir, eliminando el efecto de esas variables adicionales. Para ello se procede a
calcularlo de forma recursiva partiendo de los niveles de orden ms bajos a los ms altos.
El coeficiente de correlacin parcial de Pearson entre las variables "x" e "y", eliminando el
efecto de "w" se determina como:
) 1 )( 1 (
2 2

wy wx
wy wx xy
w xy
r r
r r r
r


=
El coeficiente de correlacin parcial de Pearson entre las variables "x" e "y", eliminando el
efecto de "w" y de "z" se determina como:
) 1 )( 1 (
2

w yz w xz
w yz w xz w xy
wz xy
r r
r r r
r


=

6.4. Ejemplo de correlacin lineal de Pearson
Se dispone de los datos de tasa de nacimiento y del porcentaje de personas dedicadas a
la agricultura en doce pases. Utilizaremos el fichero de excel Fic_06_01.xls para el
anlisis.
Pais
tasa de
nacimiento
%
agricultura
J apn 9,47 5
Grecia 9,72 12
URRSS 9,8 12,3
Polonia 10,78 16,1
Yugoslavia 12,12 12
Francia 12,15 4,1
Taiwan 12,64 8
China 13,14 49
Irlanda 14,47 8
India 22,32 60
Malasia 23,07 14,5
Filipinas 25,31 36
Figura 59. Tabla de datos fichero Fic_06_01.xls
Se desea realizar conocer la posible existencia de relacin lineal entre las dos variables.
Seguiremos los pasos necesarios en R para alcanzar este objetivo.
6.4.a. Operaciones previas de datos en R. Importacin de datos
Entre las posibilidades de utilizacin de ficheros, consideraremos que los datos han sido
recogidos y almacenados en una tabla de Excel.
En primer lugar procederemos a importar el fichero desde excel Fic_06_01.xls para
realizar los anlisis necesarios en R. Arrancaremos R y utilizaremos el RCommander (ver
manual de R).
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


45

Figura 60. Importacin de datos en EXCEL (I)
Daremos el nombre NacAgr a la nueva base de datos:

Figura 61. Importacin de datos en EXCEL (II)
Buscamos el fichero excel que queremos importar, seleccionndolo:

Figura 62. Importacin de datos en EXCEL (III)
Esto es equivalente a escribir en la ventana de instrucciones:
names(NacAgr) <- make.names(names(NacAgr))
Se produce un aviso en la importacin:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


46
AVISO: NacAgr contains non-standard variable names:
These have been changed to:
tasa.de.nacimiento, X..agricultura
Figura 63. Aviso en la importacin de datos en EXCEL
Si pulsamos en el botn de Editar conjunto de datos podemos comprobar si la
importacin se ha realizado correctamente:

Figura 64. Edicin de datos
Comprobamos que los nombres de las variables han cambiado:

Figura 65. Editor de datos
Si hacemos doble click con el ratn sobre el nombre de la variable tasa.de.nacimiento en
la siguiente ventana podremos cambiar el nombre de la variable:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


47

Figura 66. Cambio de nombre de variable (I)
Sustituimos el nombre de la variable tasa.de.nacimiento por tasanacimiento, pulsando la
tecla de retorno (intro) al finalizar.

Figura 67. Cambio de nombre de variable (II)
Repetimos el proceso para todas las variables:

Figura 68. Cambio de nombre de variable (III)
6.4.b. Operaciones previas de datos en R. Almacenar datos
Una vez finalizado el proceso de importacin, almacenaremos el fichero importado en
formato R. Para ello guardaremos el conjunto de datos activos (en nuestro caso solamente
tenemos un fichero de datos NacAgr) con el nombre NacAgr.rda.
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


48

Figura 69. Guardar datos activos
6.4.c. Operaciones previas de datos en R. Cargar datos
Una vez almacenados los datos en formato R, podrn ser recuperados en cualquier
momento sin necesidad de realizar de nuevo la importacin. Para ello pulsaremos Datos\
Cargar conjunto de datos, y buscaremos el fichero en formato R que deseamos cargar.

Figura 70. Cargar datos en formato R
6.4.d. Representacin grfica de dispersin
La obtencin de grficas de dispersin (tambin denominadas grficos X-Y) puede
realizarse mediante programacin o bien utilizando el mdulo RCommander.
Si optamos por utilizar el RCommander, pulsaremos Grficas\ Grfica XY :
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


49

Figura 71. Grfico X-Y (I)
Seleccionaremos las dos variables que deseamos representar:

Figura 72. Grfico X-Y (II)
El resultado se muestra a continuacin:

Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


50

Figura 73. Grfico X-Y (III)
Otra posibilidad que proporciona ms informacin es la utilizacin del grfico de dispersin.
Para ello, pulsaremos Grficas\ Diagrama de dispersin:

Figura 74. Grfico de dispersin (I)
Inicialmente seleccionaremos las dos variables que se desean representar:
agricultura
t
a
s
a
n
a
c
i
m
i
e
n
t
o
1
0
1
5
2
0
2
5
10 20 30 40 50 60
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


51

Figura 75. Grfico de dispersin (II)

El resultado con las opciones bsicas del grfico de dispersin es el mismo que el de los
grficos X-Y:

Figura 76. Grfico de dispersin (III)
Entre las opciones que pueden ayudar en la interpretacin de los resultados encontramos
la representacin de los diagramas de caja (box-plot) para cada una de las variables, as
como la representacin de una lnea obtenida por mnimos cuadrados (anlisis de
regresin lineal simple).
10 20 30 40 50 60
1
0
1
5
2
0
2
5
agricultura
t
a
s
a
n
a
c
i
m
i
e
n
t
o
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


52

Figura 77. Grfico de dispersin (IV)

El resultado se muestra a continuacin:

Figura 78. Grfico de dispersin (V)
Para copiar los grficos obtenidos posicionaremos el cursor sobre el grfico y utilizando el
botn derecho del ratn lo copiaremos como metafichero:
10 20 30 40 50 60
1
0
1
5
2
0
2
5
agricultura
t
a
s
a
n
a
c
i
m
i
e
n
t
o
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


53

Figura 79. Copiar grfico al portapapeles
El grfico estar en el portapapeles. Para pegarlo en nuestro procesador de textos
utilizaremos la opcin de pegar. Otra posibilidad es la de guardar el grfico en un fichero
e importarlo posteriormente con el procesador de textos.
Podemos tambin representar en el grfico cada individuo (cada punto). Para ello habr
que seleccionar Identificar observaciones:

Figura 80. Identificacin de individuos en diagrama de dispersin (I)
El programa nos informa que para activar el identificador de un punto nos posicionemos
sobre ese punto y pulsemos el botn izquierdo del ratn:

Figura 81. Identificacin de individuos en diagrama de dispersin (II)
En la siguiente figura podemos observar cmo cada caso o individuo aparece indicado con
el nmero de lnea correspondiente en la base de datos:

Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


54

Figura 82. Identificacin de individuos en diagrama de dispersin (III)
En el caso de que deseemos que en vez de los puntos aparezca el identificador del pas
(el nombre del pas, por ejemplo), deberemos definir previamente qu columna
corresponde al identificador. Para ello, pulsaremos Datos\ Conjunto de datos activo\
Establecer nombres de casos:

Figura 83. Establecer nombres de casos (I)


Figura 84. Establecer nombres de casos (II)
10 20 30 40 50 60
1
0
1
5
2
0
2
5
agricultura
t
a
s
a
n
a
c
i
m
ie
n
t
o
1
2
3
4
5
6
7
8
9
10
11
12
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


55

Figura 85. Identificacin de individuos en diagrama de dispersin (IV)
6.4.e. Correlacin lineal de Pearson
Una vez cargado el fichero con los datos, pulsaremos Estadsticos\ Resmenes\ Matriz de
correlaciones

Figura 86. Obtencin de la matriz de correlacines (I)
A continuacin procederemos a la seleccin de variables. Si se seleccionan ms de dos
variables se obtendr una matriz que mostrar todas las combinaciones con las
correlaciones. La seleccin de p-valor pareado proporcionar el valor p correspondiente
al coeficiente seleccionado para el nmero de casos o individuos analizados, en nuestro
caso doce pases.



10 20 30 40 50 60
1
0
1
5
2
0
2
5
agricultura
t
a
s
a
n
a
c
i
m
i
e
n
t
o
J apn
Grecia
URRSS
Polonia
Yugoslavia
Francia
Taiwan
China
Irlanda
India
Malasia
Filipinas
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


56

Figura 87. Obtencin de la matriz de correlacines (II)

El proceso realizado a travs de las ventanas de RCommander es equivalente a escribir en
la ventana de instrucciones:
library(Hmisc, pos=4)
rcorr.adjust(NacAgr[,c("agricultura","tasanacimiento")], type="pearson")
Los resultados indican una correlacin positiva entre las dos variables de +0.56 y un valor
p de +0.0562. Para un nivel de significacin de alfa 0.05 (error Tipo I, prueba bilateral), el
valor p obtenido (0.0562) es mayor que alfa (0.05), por lo que no rechazaremos la hiptesis
nula de que la correlacin lineal de Pearson es cero. Expresado de otra forma, no
rechazamos la hiptesis nula de que la correlacin lineal existente de +0.56 sea
estadsticamente diferente de cero, no rechazamos que haya podido producirse por causas
aleatorias.
agr i cul t ur a t asanaci mi ent o
agr i cul t ur a 1. 00 0. 56
t asanaci mi ent o 0. 56 1. 00

n= 12

agr i cul t ur a t asanaci mi ent o
agr i cul t ur a 0. 0562
t asanaci mi ent o 0. 0562

Adj ust ed p- val ues ( Hol m' s met hod)
agr i cul t ur a t asanaci mi ent o
agr i cul t ur a 0. 0562
t asanaci mi ent o 0. 0562
Figura 88. Resultados del coeficiente de correlacin lineal de Pearson
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


57


REGRESIN LINEAL SIMPLE

En el estudio bidimensional de dos variables, frecuentemente consideramos la posibilidad
de que la relacin entre la variable dependiente (explicada) y una variable independiente
(explicativa) sea lineal. Generalmente esta consideracin permite el buen funcionamiento
de un modelo de regresin mltiple, a pesar de que las relaciones no sean estrictamente
lineales. En el caso de tener un modelo con tan slo una variable independiente la
Dentro del estudio de la linealidad entre variables, comenzaremos con las
representaciones grficas, cuantificando numricamente esta relacin con el coeficiente de
correlacin lineal de Pearson y finalmente la utilizacin del coeficiente de correlacin
parcial.
El anlisis de regresin lineal simple es el caso ms sencillo de anlisis de regresin y
parte de la determinacin de una variable dependiente a partir del conocimiento de una
variable independiente de la forma:
n i x y
i i i
,..., 2 , 1 = + + =
La obtencin de los parmetros generalmente se realiza utilizando mnimos cuadrados
ordinarios, buscando que los valores de alfa y beta minimicen los residuos al cuadrado.
Para ello, partimos de la definicin de una funcin de densidad de las perturbaciones
aleatorias:
( )

)

=
2
2
2
1
2
2
1
) (
i
e f
i



Teniendo en cuenta que las perturbaciones son independientes entre s, la funcin de
densidad conjunta de las n perturbaciones se define como el producto de las n funciones
de densidad:


= =
=
n
i
n n
i
n
i
i
e f L
1
2
1
2
1
2
2
2
1
) (



En la funcin de regresin lineal simple:
n i x y
i i i
,..., 2 , 1 = + + =
Se despeja el error: n i x y
i i i
,..., 2 , 1 = =
Sustituyendo el error en la funcin de densidad conjunta obtenemos:



= =
=
n
i
x y
n n
i
n
i
i i
e f L
1
) (
2
1
2
1
2
2
2
1
) (



Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


58
Aplicando logaritmos neperianos a la funcin:
( ) ( )

(
(
(


= =
=
n
i
x y
n
n
i
n
i
i i
e Ln f Ln L Ln
1
) (
2
1
2 /
2 2 /
1
2
2
2 ) (



=
=
n
i
i i
x y Ln
n
Ln
n
L Ln
1
2
2
2
) (
2
1
) (
2
) 2 (
2


Y derivando la expresin respecto de alfa, beta e igualando a cero se obtiene:
= = =

= =
n
i
i i
n
i
i i
x y x y
L Ln
1 1
2
0 ) ( 0 ) (
2
1



= = =

= =
n
i
i i i
n
i
i i i
x x y x x y
L Ln
1 1
2
0 ) )( ( 0 ) )( (
2
1



A partir de las dos ecuaciones normales anteriores y despejando en ellas se determinan
los valores de beta y alfa:
2
x
xy
S
S
= , y x y =
Derivando respecto a la varianza de las perturbaciones e igualando a cero:
( )
= = + =

= =
n
i
i i
n
i
i i
x y x y
n n L Ln
1
2 2
1
2
2
2
2 2
) ( 0 ) (
2
2



Luego:
2 2
) (

n x y
i i
=
Por lo que ( ) ( )

= =
= =
n
i
i
n
i
i i
e
n
x y
n
1
2
1
2 2
1 1


Pero este estimador es sesgado, sustituyndose por ( )

=
n
i
i
e
n
1
2 2
2
1


De esta forma, es posible construir la funcin de regresin lineal que relaciona las dos
variables: X Y + = .
7.1. Fases en el anlisis de regresin lineal simple
En primer lugar hay que indicar que una fase previa a todo anlisis de regresin debiera
ser la representacin grfica de las variables para determinar si existe o no linealidad para
las relaciones entre la variable dependiente y cada una de las independientes, as como el
estudio de las correlaciones lineales entre ellas. Suelen establecerse las siguientes fases
dentro de un anlisis de regresin:
1. Anlisis grfico y de las correlaciones lineales
2. Bondad global del modelo
3. Anlisis relacionados con la variable independiente
4. Anlisis relacionados con la variable dependiente. Valores pronosticados
5. Anlisis de los residuos
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


59
6. Estadsticos de influencia, "leverage" o apalancamiento. Casos atpicos
7. Autocorrelacin
A continuacin desarrollaremos las tres primeras fases.
7.2. Anlisis de las correlaciones
Una vez realizada la representacin grfica es posible obtener los estadsticos descriptivos
y la matriz de correlaciones con el fin de detectar si existe relacin y en caso afirmativo si
es lineal. La correlacin entre la variable dependiente y la independiente en un anlisis de
regresin lineal simple, evidentemente, debe ser grande. Hay que tener en cuenta que el
nivel de significacin depende del tamao muestral, por lo que podemos encontrar que
correlaciones bajas pero con un tamao muestral grande sean significativas, mientras que
correlaciones mayores no lo sean si el tamao muestral es pequeo.
No obstante, es recomendable realizar la representacin grfica a pesar de haber
comprobado la existencia de relacin lineal.
7.3. Bondad global del modelo
La bondad global del modelo indica el grado con el que la variable independiente puede
predecir a la variable dependiente. Este anlisis es posible efectuarlo a partir del estudio
de diversos estadsticos. En primer lugar, a partir de la F de Snedecor-Fisher (cociente
entre la media cuadrtica explicada por la regresin y la no explicada o residual) y su valor
p asociado:
ANOVA(b)
Modelo Suma de cuadrados gl Media cuadrtica F Sig.
1
Regresin 35877,712 1 35877,712 63,840 ,000(a)
Residual 7305,888 13 561,991




Total 43183,600 14






a Variables predictoras: (Constante), X
b Variable dependiente: Y
Figura 89. ANOVA en el anlisis de regresin
Se busca dividir la varianza total de la variable dependiente en dos partes: la varianza
explicada por la regresin y la varianza residual. De esta forma, la suma de cuadrados
totales es igual a la suma de cuadrados de la regresin ms la residual. Teniendo en
cuenta que la varianza de la variable dependiente es constante e independiente del
modelo que hayamos elegido, el objetivo se centra en conseguir un modelo que,
lgicamente, tenga una suma de cuadrados explicada (de la regresin) grande y una suma
de cuadrados residual (errores) pequea. Para la tabla anterior la suma de cuadrados
totales se descompone de la siguiente forma:
Suma de cuadrados totales (43183,6) =
Suma de cuadrados regresin (35877,712) +Suma de cuadrados residuales (7305,888)

La suma de cuadrados total del modelo es igual a la varianza de la variable
dependiente por (N-1). Por lo tanto, la suma de cuadrados total es independiente del
modelo construido. Se define como:
( )
2 '
2
1
Y N Y Y Y Y TOTAL SC
N
i
i
= =

=

Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


60
La suma de cuadrados explicada por la regresin se define como
( )
2 '
2
1

Y N Y Y Y Y SCRegr
N
i
i
= =

=
, o tambin como
2 2
) 1 (
y
S N R SCRegr =
Cuanto mayor sea la suma de cuadrados explicada por la regresin mejor ser la bondad
del modelo. Se observa en la tabla que el valor del coeficiente de determinacin R
2
, que se
definir a continuacin, es de 0,831, N el nmero de observaciones (15). La varianza de la
variable dependiente es de 3084,543 obtenida a partir de los estadsticos descriptivos en la
siguiente tabla:
Estadsticos descriptivos
Media Varianza Desviacin tp. N
Y 176,40 3084,543 55,54 15
X 66,60 310,4 17,62 15
Figura 90. Estadsticos descriptivos en el Anlisis de Regresin
Por lo que la suma de los cuadrados explicada por la regresin ser igual a:
7 , 35877 543 , 3084 ) 1 15 ( 830817 , 0 = = SCRegr . Se considera que el modelo tiene un
grado de libertad, ya que hay una variable independiente en el mismo.

La suma de cuadrados no explicada por la regresin se define como
( )
2
1

=
=
N
i
i i
Y Y SCErr , o bien,
2 2
) 1 )( 1 (
y
S N R SCErr = con N-1 grados de libertad.
Para el ejemplo de la tabla 886 , 7305 543 , 3084 ) 1 15 )( 830817 , 0 1 ( = = SCErr
Los grados de libertad totales son 14 (15 observaciones 1). Por lo tanto, los grados
residuales de la regresin sern 14 grados de libertad totales 1 =13 grados de libertad.
Evidentemente, cuanto mayor sea la suma de cuadrados no explicada por la regresin
peor ser la bondad del modelo.

Medias cuadrticas
Frecuentemente el anlisis de la parte explicada y sin explicar de los distintos modelos no
se realiza sobre las sumas de cuadrados ya que los modelos pueden tener grados de
libertad distintos en funcin del nmero de variables que intervengan. Por ello suelen
utilizarse las medias cuadrticas que consideran ambos aspectos.
Las medias cuadrticas se definen como la suma de cuadrados entre los grados de
libertad: gl SC = MC , obteniendo dos medias cuadrticas, una para la regresin
(explicada) y otra residual (sin explicar).
As, por ejemplo, podemos calcular la media cuadrtica residual de la regresin de la tabla
anterior:
7 , 35877
1
7 , 35877
= = MCRegr y 991 , 561
13
888 , 7305
= = MCErr

F de Snedecor-Fisher
La F de Snedecor se define como el cociente entre MC regresin y la MC residuos:

Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


61
) 1 1 , 1 ( ~
2) - (N (errores)/ residual Cuadrados Suma
)/1 (explicada regresin Cuadrados Suma
MCErr
MCRegr
F = = N F


) 1 1 15 , 1 ( ~ 840 , 63
13 / 7305,888
)/1 (explicada regresin Cuadrados Suma
561,991
35877,12
F = = = F

Cuanto mayor sea la F el ajuste ser mejor. Valdr cero cuando la MC regresin sea cero,
es decir, cuando la variable independiente no pueda explicar nada de la dependiente.
Como la interpretacin de la F depende de los grados de libertad es ms aconsejable el
anlisis del valor p asociado a la F. En el caso de la tabla, el valor p es igual a cero, por lo
que la bondad global del modelo es buena, se produce el rechazo de la hiptesis nula de
que la relacin entre la variable dependiente e independiente se deba a causas aleatorias.
Expresado de otra forma, se rechaza la hiptesis nula de que la F sea igual a cero.

El coeficiente de determinacin R
2

Se define el coeficiente de determinacin como el porcentaje de la varianza de la variable
dependiente que es explicado por la independiente. Se define como la varianza explicada
entre la varianza total:
2
y
2
y
2
S
S
= R o bien:
total cuadrados de Suma
regresin la por explicada cuadrados de Suma
2
= R
Esta expresin es equivalente para el caso lineal a definir el coeficiente de determinacin
como:
TOTAL SC
SCErr
1
2
= R

Por lo tanto, tambin es posible estudiar la bondad global del modelo a partir del
coeficiente de determinacin, que es el cuadrado del coeficiente de correlacin mltiple. En
la tabla la R
2
(0,831) es igual a 0,911 al cuadrado.
Evidentemente, los lmites del coeficiente de determinacin se encuentran en cero y uno.
Si el coeficiente toma un valor de cero la suma de cuadrados explicada por la regresin es
nula, es decir, la variable independiente explica el cero por ciento de la variable
dependiente. En el caso extremo de que el coeficiente tome valor de uno, la suma de
cuadrados explicada por la regresin es igual a la suma de cuadrados total, es decir, el
cien por cien de la variable dependiente es explicado por la variable independiente.
Una vez determinadas las predicciones de la funcin lineal se obtuvo que la varianza de
los pronsticos es de 2562,694 (varianza explicada). Al ser la varianza de la variable
original igual a 3084,543 es posible obtener R
2
como:
830817 , 0
543 , 3084
694 , 2562
S
S
2
y
2
y
2
= = = R o bien como:
830817 , 0
6 , 43183
712 , 35877
total cuadrados de Suma
regresin la por explicada cuadrados de Suma
2
= = = R
830818 , 0
43183,6
7305,888
1
TOTAL SC
SCErr
1
2
= = = R

Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


62

R
2
ajustada o corregida
Se define la R cuadrado ajustada, tambin denominada como corregida:

1
) 1 (
2
2 2

=
p N
R p
R ajustada R
En esta frmula R
2
es el coeficiente de determinacin, N el nmero de observaciones o
individuos y p el nmero de variables independientes en el modelo, en el caso de regresin
lineal es igual a uno.
Es muy importante la interpretacin que hay que dar a la R cuadrado ajustada, ya que este
coeficiente tiene un doble objetivo:
- Busca ponderar positivamente la existencia de un elevado nmero de observaciones (o
negativamente un nmero bajo) como se puede observar en el denominador. Si N es
grande la R cuadrado ajustada tiende a ser igual que la R cuadrado. A medida que la N es
ms pequea las diferencias tienden a ser mayores para igualdad de valores de p.
- Tambin busca ponderar negativamente la inclusin de un nmero excesivo de variables
en el modelo. En un anlisis de regresin se persigue cumplir el principio de parsimonia, es
decir, obtener una varianza explicada lo ms grande posible utilizando el mnimo nmero
de variables independientes en el modelo. De esta forma, la inclusin de una variable
independiente ms en el modelo que no explique nada ms de la variable dependiente
supone que R
2
permanece constante, mientras que la R
2
ajustada disminuye. Es posible
que incluso aumentando R
2
, la R
2
ajustada disminuya. As, la R
2
ajustada se convierte en
un instrumento para la evaluacin de las variables que deben encontrarse en el modelo.
En el caso de la regresin lineal simple este problema slo se plantea para una variable.
Por lo tanto en nuestro ejemplo:
818 , 0
1 1 15
) 831 , 0 1 ( 1
831 , 0
1
) 1 (
2
2 2
=

=
p N
R p
R ajustada R
El error estndar de la prediccin, tambin denominado error tpico, se define como:
ajustada R Sy Estndar Error
2
1 =
Cuanto peor sea el ajuste menor ser la R cuadrado ajustada y por lo tanto el error
estndar ser mayor. En nuestro caso el Error estndar ser:
71 , 23 818 , 0 * 1
2
= = Sy ajustada R Sy ; siendo S
y
=55,54
7.4. Anlisis relacionados con la variable independiente
Una vez obtenido un modelo de regresin que ajuste de forma adecuada o suficiente
segn la bondad del ajuste global, se debe a continuacin contrastar la validez de los
estimadores o coeficientes.
El coeficiente no estandarizado B
Indica los parmetros de la funcin de regresin. En este caso de regresin lineal simple la
ecuacin de regresin tomar la forma:
Y =-14,965 +2,873 X
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


63
En el modelo de regresin lineal simple el coeficiente no estandarizado de la variable X
denominado B1 es la pendiente de la recta, luego:
2
1
x
S
Sxy
B = y la constante X B Y B
1 0
=
La hiptesis nula que se contrastar es que el coeficiente es igual a cero. Si se rechaza la
hiptesis nula podemos considerar que el coeficiente es estadsticamente diferente de cero
y por lo tanto adecuado para intervenir en el modelo. El valor p (Sig.) es igual a cero para
la variable independiente, luego es estadsticamente diferente de cero. En el caso de la
constante el valor p es igual a 0,555 por lo que esta constante no es estadsticamente
diferente de cero, luego no es adecuada para formar parte del modelo, lo que se traduce
en muchos casos en una mala prediccin.

El error tpico de B se calcula como:
( )
2
1
X
B
S p N
=

, siendo
2
X
S la varianza de la variable independiente y la desviacin
tpica poblacional que se estima a partir de:
( )
Error del Cuadrtica Media
1 1

2
1
1 0
=

=


=

=
p N
SCError
p N
x B B y
N
i
i i

Teniendo en cuenta que en el caso de regresin lineal simple el nmero de variables
independientes (p) es igual a uno, las expresiones quedaran:
( )
2
1
1
X
B
S N
=

, y
( )
Error del Cuadrtica Media
2 2

2
1
1 0
=


=

=
N
SCError
N
x B B y
N
i
i i

En nuestro ejemplo
( )
991 , 561
13
888 , 7305
2 1

2
1
1 0
2
= =

=


=

=
N
SCError
p N
x B B y
N
i
i i


( )
360 , 0
62 , 17 1 15
991 , 561
2
1
=

=
B


A mayores errores tpicos del coeficiente le corresponden mayores variabilidades del
mismo, es decir, un intervalo de confianza para el coeficiente tambin ms grande.

El coeficiente estandarizado (Beta) se obtiene como:

Sy
Sx
B BETA
i
i i
=

El coeficiente Beta nos permite una primera aproximacin al conocimiento de la
importancia de cada variable independiente en el modelo, ya que las B pueden estar
medidas en diferentes unidades. De esta forma, tipificando la variable dependiente gasto
(zgasto), se puede establecer la ecuacin de regresin tipificada:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


64
zgasto=0,887 zX, siendo zX la variable tipificada de X. En el ejemplo estudiado se puede
calcular el coeficiente de Beta para la variable independiente como:
11 9 , 0
54 , 55
62 , 17
873 , 2
1 1
= = =
Sy
Sx
B BETA

El valor de t de Student
Se obtiene con el cociente entre Bi y el error estndar de Bi de la siguiente forma:
i
i
i
SEB
B
t =

La interpretacin de la t se realiza a partir del valor p asociado. En nuestro caso la t de la
variable X (7,990) es significativa, se rechaza la hiptesis nula (valor p igual a cero) y por lo
tanto la variable X es vlida para nuestro modelo. Sin embargo la constante no es
significativa (t igual a -,605 y valor p igual a 0,109). Tambin es posible establecer la
relacin:
CAMBIO F Student de t
i i
=

Intervalo de confianza
Los programas informticos suelen ofrecer el intervalo de confianza al 95% para los
coeficientes, donde puede observarse la gran variabilidad en este caso de la constante, lo
que implica que no es adecuada para el modelo lineal. El intervalo de confianza se calcula
como:

p N B
t B

, 025 . 0 1 1

En nuestro ejemplo, 160 , 2
13 , 025 . 0
= t , luego
096 , 2 160 , 2 360 , 0 873 , 2
, 025 . 0 1 1
= =
p N B
t B
650 , 3 160 , 2 360 , 0 873 , 2
1 , 025 . 0 1 1
= + = +
p N B
t B
36 , 68 160 , 2 720 , 24 965 , 14
2 , 025 . 0 0 0
= =
N B
t B

43 , 38 160 , 2 720 , 24 965 , 14
2 , 025 . 0 0 0
= + = +
N B
t B
El intervalo para B1 es [+2,096 ; 3,650], constatndose que el valor de cero no se
encuentra dentro del intervalo, es decir, que B
1
es significativamente distinto de cero, y por
lo tanto la variable independiente es adecuada para el anlisis de regresin.
Por el contrario, la constante tiene un valor de 14,965 que se encuentra dentro del
intervalo [-64,36 ; 38,43], luego no es significativamente distinta de cero y no es adecuada
en el modelo.

Anlisis de los signos
Una de las comprobaciones que deben hacerse sobre las variables independientes hace
referencia al signo de los coeficientes. El signo de una variable independiente debe ser
compatible con la naturaleza de la variable, por ejemplo, no puede haber signo negativo en
una variable que no puede tomar esos valores ni tampoco puede tener un signo que
indique el sentido contrario a la relacin con la variable dependiente, si la relacin entre
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


65
ambas es positiva no tiene sentido que el coeficiente sea negativo. En el caso del anlisis
de regresin lineal simple el signo del coeficiente en la regresin es el mismo que el
obtenido para el anlisis de correlacin lineal de Pearson, pero en el caso de regresin
lineal mltiple podemos encontrar signos distintos para la misma variable.
7.5. Ejemplo anlisis de regresin lineal simple en R
Utilizaremos el fichero de excel Fic_06_01.xls que hemos analizado en el apartado 3, en
el que se dispone de los datos de tasa de nacimiento y del porcentaje de personas
dedicadas a la agricultura en doce pases. Dentro de las siete fases sealadas en el
anlisis de regresin lineal simple, la primera (Anlisis grfico y de las correlaciones
lineales) ya fue realizada anteriormente.
El objetivo es la construccin de una funcin de regresin lineal simple de la forma
X Y + = , en la que Y es la variable que se quiere predecir (en nuestro caso la tasas
de nacimiento) a partir del conocimiento de X (porcentaje de agricultura).

Figura 91. Anlisis de regresin lineal simple en R
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


66
A continuacin aparecer una ventana en la que se seleccionarn las variables.

Figura 92. Seleccin de variables en Anlisis de regresin lineal simple en R
En la parte superior daremos un nombre al modelo que vamos a construir. Esta fase es
importante, porque posteriormente podremos recuperar informacin que R no proporciona
directamente por defecto. Como variable explicada (Y) elegimos la tasa de nacimiento y
como variable explicativa (X) seleccionamos la agricultura.
Pulsando el botn de aceptar, R enviar los principales resultados a la ventana de
resultados de RCommander.
La funcin completa en R para realizar modelos de regresin lineales se define como:
lm (formula, data, subset, weights, na.action, method ="qr", model =T, x =F, y =F,
qr =T, singular.ok =T, contrasts =NULL, offset, ...)
Los principales argumentos que se utilizan en la funcin son:
formula: Definicin del modelo que se quiere construir. Para el caso de regresin
lineal simple la expresin es lm(y ~x). Para el caso en el que se desee forzar a que
la regresin pase por el origen (constante igual a cero), la expresin ser igual a
lm(y ~0+x).
weights: Un vector de pesos que puede ser utilizado si la ponderacin de cada caso
es diferente. Por defecto todos los casos tienen el mismo peso.
na.action: Especificacin de lo que debe hacer la funcin lm() cuando encuentre
datos ausentes o no disponibles del tipo NaN.
method: Mtodo a usar en el modelo para elegir variables independientes. En el
caso de regresin lineal simple tan solo hay una variable independiente, por lo que
no procede especificar esta opcin.
En trminos generales, la construccin de la funcin x y + = se definira como lm(y~x).
El procedimiento realizado grficamente es equivalente a dos instrucciones:
ModelLin <- lm(tasanacimiento~agricultura, data=NacAgr)
summary(ModelLin)
Los resultados se muestran a continuacin:


Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


67
Resi dual s:
Mi n 1Q Medi an 3Q Max
- 6. 532 - 3. 247 - 0. 506 1. 033 9. 401

Coef f i ci ent s:
Est i mat e St d. Er r or t val ue Pr ( >| t | )
( I nt er cept ) 11. 14595 2. 12960 5. 234 0. 000382 ***
agr i cul t ur a 0. 17400 0. 08061 2. 159 0. 056242 .
- - -
Si gni f . codes: 0 ' ***' 0. 001 ' **' 0. 01 ' *' 0. 05 ' . ' 0. 1 ' ' 1

Resi dual st andar d er r or : 4. 9 on 10 degr ees of f r eedom
Mul t i pl e R- squar ed: 0. 3179, Adj ust ed R- squar ed: 0. 2496
F- st at i st i c: 4. 66 on 1 and 10 DF, p- val ue: 0. 05624
Resul t ados del anl i si s de r egr esi n l i neal si mpl e en R ( I )
Figura 93. Resultados del Anlisis de regresin lineal simple en R (I). Bondad global del modelo
En cualquier momento se puede recuperar esta informacin tecleando en la ventana de
instrucciones:
coef(ModelLin)
print(ModelLin)
7.5.a. Bondad global del modelo
De los resultados obtenidos en R se obtiene la La F de Snedecor (F-Statistic) y que se
define como el cociente entre MC regresin (con un grado de libertad porque hay
solamente una variable independiente) y la MC residuos (con 10 grados de libertad que se
calculan como el nmero de casos 12 menos el nmero de grados de libertad del modelo o
variables independientes que en nuestro caso es igual a uno y menos uno). La F es igual a
4.66 con un valor p igual a 0.05624, por lo que la bondad global del modelo no es buena,
ya que no se produce el rechazo de la hiptesis nula de que la relacin entre la variable
dependiente e independiente se deba a causas aleatorias. Expresado de otra forma, no se
rechaza la hiptesis nula de que la F sea igual a cero.
Se define el coeficiente de determinacin R
2
definido como el porcentaje de la varianza de
la variable dependiente que es explicado por la independiente es igual a 0.3179, es decir
que la variabe independiente (agricultura) no llega a explicar el 32% de la variable
dependiente (tasa de nacimiento). La R
2
ajustada es igual a 0.2496, es decir, un porcentaje
bajo a la hora de la explicacin de la variable dependiente.
Para obtener la tabla del anlisis de la varianza con las de cuadrados deberemos escribir
en la ventana de instrucciones:
anova(ModelLin)
El resultado se muestra a continuacin:
Anal ysi s of Var i ance Tabl e
Response: t asanaci mi ent o
Df SumSq Mean Sq F val ue Pr ( >F)
agr i cul t ur a 1 111. 87 111. 867 4. 6596 0. 05624 .
Resi dual s 10 240. 08 24. 008
- - -
Si gni f . codes: 0 ' ***' 0. 001 ' **' 0. 01 ' *' 0. 05 ' . ' 0. 1 ' ' 1
Figura 94. Resultados del Anlisis de regresin lineal simple en R (II). Bondad global del modelo
7.5.b. Anlisis relacionados con la variable independiente
La funcin de regresin lineal simple X Y + = , siendo Y la tasa de nacimiento y X la
agricultura puede escribirse utilizando los coeficientes obtenidos como:
X Y 174 . 0 14595 . 11 + =
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


68
Coef f i ci ent s:
Est i mat e St d. Er r or t val ue Pr ( >| t | )
( I nt er cept ) 11. 14595 2. 12960 5. 234 0. 000382 ***
agr i cul t ur a 0. 17400 0. 08061 2. 159 0. 056242 .
- - -
Si gni f . codes: 0 ' ***' 0. 001 ' **' 0. 01 ' *' 0. 05 ' . ' 0. 1 ' ' 1
Figura 95. Resultados del anlisis de regresin lineal simple en R (III). Variable independiente
R nos muestra el error tpico de los coeficientes
i
SEB , as como el valor de la t de Student
i i i
SEB B t = . Se obtiene un valor t para cada coeficiente.
La interpretacin de la t se realiza a partir del valor p asociado. En nuestro caso la t de la
constante (11.14595) toma un valor de 5.234 y un valor p de 0.000382, por lo que es
significativa, se rechaza la hiptesis nula (valor p igual a cero) y por lo tanto la constante es
vlida en nuestro modelo. En referencia al valor de la pendiente o coeficiente de la variable
independiente que toma un valor de 0.174 alcanza un valor para la t de 2.159 y un valor p
de 0.056242 que es mayor que un error Tipo I de 0.05, por lo que no es significativamente
diferente de cero y tendremos que rechazar este modelo como vlido.
Por lo tanto, no se rechaza la hiptesis nula para el coeficiente de la variable
independiente H
0
: = 0.
El intervalo de confianza de los coeficientes de la variable independiente pueden obtenerse
tecleando en la ventana de instrucciones:
confint(ModelLin)
2. 5 % 97. 5 %
( I nt er cept ) 6. 400913680 15. 8909948
agr i cul t ur a - 0. 005604835 0. 3536095
Figura 96. Resultados del Anlisis de regresin lineal simple en R (III). Intervalos de confianza coeficientes
7.5.c. Valores pronosticados
Para obtener los valores pronosticados de la funcin obtenida X Y 174 . 0 14595 . 11 + = ,
escribiremos en la ventana de instrucciones:
predict(ModelLin)
El resultado se muestra a continuacin:
J apn Gr eci a URRSS Pol oni a Yugosl avi a Fr anci a Tai wan
12. 01597 13. 23398 13. 28618 13. 94739 13. 23398 11. 85936 12. 53797
Chi na I r l anda I ndi a Mal asi a Fi l i pi nas
19. 67207 12. 53797 21. 58609 13. 66899 17. 41004
Figura 97. Resultados del Anlisis de regresin lineal simple en R (IV). Valores pronosticados
Se pueden guardar los valores pronosticados en una nueva variable que denominaremos
ajustados, escribiendo en la ventana de instrucciones:
ajustados =fitted(ModelLin).
7.5.d. Residuos
Se puede obtener los residuos definidos como el valor observado menos el valor terico
tecleando en la ventana de instrucciones:
residuals(ModelLin)
El resultado se muestra a continuacin:
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


69
J apn Gr eci a URRSS Pol oni a Yugosl avi a Fr anci a Tai wan
- 2. 5459658 - 3. 5139820 - 3. 4861827 - 3. 1673915 - 1. 1139820 0. 2906363 0. 1020272
Chi na I r l anda I ndi a Mal asi a Fi l i pi nas
- 6. 5320678 1. 9320272 0. 7339068 9. 4010122 7. 8999624
Figura 98. Resultados del Anlisis de regresin lineal simple en R (V). Residuos
Frecuentemente necesitaremos guardar estos residuos como si fuera una nueva variable
para comprobar hiptesis como la normalidad. Para ello escribiremos en la ventana de
instrucciones:
residuos =resid(ModelLin).
Para comprobar que los residuos han sido almacenados tecleamos print(residuos).
7.5.e. Grficos
Para realizar grficos bidimensionales se utilizar la instruccin plot, especificando las dos
variables que se desean representar.
Por ejemplo, para representar los valores pronosticados y los residuos, escribiremos en la
ventana de instrucciones:
ajustados =fitted(ModelLin)
residuos =residuals(ModelLin)
plot(ajustados, residuos)



Figura 99. Grfico valores pronosticados - residuos
Para obtener la representacin de los valores originales:
12 14 16 18 20
-
5
0
5
1
0
ajustados
r
e
s
i
d
u
o
s
Manual de Lenguaje R (I). Enero 2012. Ramn lvarez Esteban


70
agric <-NacAgr$agricultura
nacim <-NacAgr$tasanacimiento
plot(agric, nacim)

Figura 100. Grfico valores originales
Si deseamos representar conjuntamente los datos originales con la lnea de regresin
escribiremos en la ventana de instrucciones:
agric <-NacAgr$agricultura
nacim <-NacAgr$tasanacimiento
plot(agric, nacim)
abline(ModelLin)


Para obtener ayuda sobre la funcionalidad del anlisis de regresin lineal en R es posible
teclear en la ventana de instrucciones:
?lm


10 20 30 40 50 60
1
0
1
5
2
0
2
5
agric
n
a
c
i
m
10 20 30 40 50 60
1
0
1
5
2
0
2
5
agric
n
a
c
i
m

Das könnte Ihnen auch gefallen