Anda di halaman 1dari 146

Unidad de Consultora

Estadstica
U O NIVERSIDAD DE VIEDO
U N I O V I
C
E
Curso de Iniciacin al Paquete Estadstico R
1206A
Unidad de Consultora Estadstica
http://uce.uniovi.es
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Coordinador:
Emilio Torres Manzanera
Departamento de Estadstica e Investigacin Operativa y Didctica de la Matemtica
Universidad de Oviedo
E.U. Jovellanos - Campus de Viesques
torres@uniovi.es
Han colaborado en la elaboracin de este material docente: Carlos Enrique Carleos Artime, Da-
vide Martinetti, Pelayo Izquierdo Garca, Tania Iglesias Cabo, Patricia Daz Daz, Ignacio Montes
Gutirrez y Set Prez Gonzlez.
Los autores agradecen la inestimable colaboracin de Asuncin Lubiano Gmez,Jos Manuel
Menndez Estbanez y Susana Montes Rodrguez durante la elaboracin de este texto.
Universidad de Oviedo
Unidad de Consultora Estadstica
http://uce.uniovi.es
c/ Luis Moya 261- 33203 Gijn- Spain
Tel. 985 182061
email: uce@uniovi.es
Este obra est bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual
3.0 Unported.
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
ndice
1. Introduccin 6
1.1. Qu es R? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2. Principales caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3. Interfaces grcas para usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1. Rkward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2. RCommander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3. RExcel, ROOo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4. Interfaces para programacin en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2. Instalacin de R, RExcel y R-Commander 12
2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2. Instalacin de RExcel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3. Instalacin de R-UCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4. Instalacin de R y R-Commander en Windows . . . . . . . . . . . . . . . . . . . . . 14
2.4.1. Instalacin de R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.2. Instalacin del paquete R-Commander . . . . . . . . . . . . . . . . . . . . . . 19
2.5. Instalacin de editores en Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.1. RWinEdt, R-Sweave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.2. Tinn-R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.3. Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6. Instalacin de R y R-Commander en Ubuntu . . . . . . . . . . . . . . . . . . . . . . 22
2.7. Instalacin de R y Rkward en Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8. Instalacin de Emacs-Speaks-Statistics en Ubuntu . . . . . . . . . . . . . . . . . . . 23
2.9. Instalacin de R y R-Commander en Macintosh . . . . . . . . . . . . . . . . . . . . . 23
3. RExcel 28
3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2. Primeros pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3. R-Commander en RExcel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4. Cargar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4. R-Commander 31
4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2. Primeros pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3. Aspecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4. Los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5. Datos (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.1. Nuevo conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.2. Cargar conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.3. Importar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.4. Cambiar conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6. Estadsticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.1. Resmenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.2. Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6.3. Medias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.6.4. Varianzas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6.5. Test no paramtricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.6.6. Anlisis dimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6.7. Ajuste de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.7. Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.7.1. Resumir el modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.7.2. Seleccin del modelo paso a paso . . . . . . . . . . . . . . . . . . . . . . . . 56
3
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.7.3. Grcas bsicas de diagnstico . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.8. Grcas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.8.1. Diagrama de caja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.8.2. Histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.8.3. Grca de barras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.9. Datos (II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.9.1. Conjunto de datos en paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.9.2. Conjunto de datos activos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.9.3. Modicar variables del conjunto de datos activos . . . . . . . . . . . . . . . . 67
4.10.Extensiones (plug-in) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.10.1. RcmdrPlugin.Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.10.2. RcmdrPlugin.HH: Heiberger and Holland . . . . . . . . . . . . . . . . . . . . 73
4.10.3. RcmdrPlugin.FactoMineR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.10.4. RcmdrPlugin.IPSUR: Introduction to Probability and Statistics Using R . . . . 73
4.10.5. RcmdrPlugin.SurvivalT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.10.6. RcmdrPlugin.epack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.10.7. RcmdrPlugin.orloca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10.8. RcmdrPlugin.DoE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10.9. RcmdrPlugin.TeachingDemos . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10.10. RcmdrPlugin.qcc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10.11. RcmdrPlugin.qual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10.12. BiodiversityR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5. Nivel avanzado 75
5.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2. Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.1. Manuales y tutoriales en la red . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.2. Bsqueda de ayuda en la red . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.3. Ayuda desde la consola de R . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3. Paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.3.1. Paquetes de inters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3.2. Hmisc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3.3. Epidemiological calculator (epicalc) . . . . . . . . . . . . . . . . . . . . . . . 83
5.3.4. Rgraphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.3.5. Sweave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3.6. survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3.7. professR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.4. Programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.5. Tinn-R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6. Lenguaje R 92
6.1. Tipos de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.1.1. Tipos bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.1.2. Asignacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.1.3. Tipos compuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.1.4. Cambios de tipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2. Leer y escribir datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.3. Distribuciones de probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.4. Estadstica bsica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.5. Control del ujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.5.1. Agrupar expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.5.2. Condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.5.3. Bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.6. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
7. Ejercicios 118
7.1. Anlisis de datos con RCommander . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.2. Anlisis de datos con comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8. Apndice - Cuestionarios 137
8.1. Turismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.2. Estilo de vida de la juventud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
1. Introduccin
En este captulo daremos en primer lugar un repaso al entorno R y, seguidamente, a sus interfaces
de usuario.
1.1. Qu es R?
R es un entorno informtico para anlisis estadstico, distribuido bajo la licencia GPL de GNU
(http://gnu.org/copyleft/gpl.html). Funciona en los sistemas operativos ms populares
(Microsoft Windows, Ubuntu...). Incluye:
Un intrprete del lenguaje R, que a su vez es un dialecto del lenguaje S (otro dialecto de S
famoso es Splus). El nombre S viene de Statistics (Estadstica); R se pronuncia como our
(nuestro en ingls), para destacar su carcter pblico.
Rutinas en C y Fortran optimizadas para clculo numrico.
Numerosos complementos (paquetes) para aplicaciones estadsticas concretas.
La pgina ocial del proyecto R es http://www.r-project.org.
Una buena revisin de lo que ha signicado R en el campo de la computacin estadstica es el
artculo de Paula Elosua Oliden Existe vida ms all del SPSS? Descubre R [71] (bibliografa en la
pgina 144).
1.2. Principales caractersticas
A la hora de describir el entorno R, suelen destacarse las siguientes caractersticas:
El lenguaje R es interpretado, a alto nivel; similar a Octave/Matlab, pero con la sintaxis orien-
tada al manejo de datos estadsticos (factores, frmulas de modelos...).
Una comunidad de programadores muy dinmica (multitud de paquetes adicionales).
Bien documentado y con numerosos foros de ayuda.
Los interfaces grcos para el usuario disponibles son todava muy inmaduros.
Por lo anterior, la curva de aprendizaje resulta difcil para los usuarios acostumbrados a inter-
faces amigables (como las de SPSS, PSPP, Minitab, Gretl, Statistica, Statgraphics...).
6
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
1.3. Interfaces grcas para usuarios
Una interfaz grca de usuario permite realizar las operaciones ms comunes mediante una serie
de mens o mediante interaccin con los objetos grcos que aparecen en pantalla, a travs de
perifricos como el ratn. Se opone a interfaz de programador o de comandos, donde se teclean las
instrucciones que se pretenden ejecutar. Una lista exhaustiva de las interfaces para R se encuentra
en http://www.sciviews.org/_rgui.
1.3.1. Rkward
Se trata de la interfaz grca para R ms prometedora. Est escrita en PHP y C++ (sobre las
bibliotecas del entorno grco KDE). Se distribuye bajo licencia GPL de GNU. Para ms informacin,
visite http://es.wikipedia.org/wiki/RKWard.
Hemos de advertir que el entorno KDE funciona perfectamente sobre Ubuntu, pero todava no
sobre Windows.
1.3.2. RCommander
Se trata de una interfaz ms primitiva que Rkward, aunque ms madura. Se distribuye tambin
bajo licencia GPL de GNU. Utiliza el entorno grco Tcl/Tk, as que funciona adecuadamente tanto
en Ubuntu como en Windows. Por ello, es ahora mismo la interfaz ms popular para R. Varias
universidades han desarrollado cursos basados en ella; vanse por ejemplo las pginas http://
knuth.uca.es/moodle/ (Universidad de Cdiz) y http://crisol.uc3m.es/index.php/
gnur (Universidad Carlos III).
Como cualidades podemos destacar:
Adecuado para un curso de iniciacin a la Estadstica.
Numerosa documentacin en castellano.
Mdulos adicionales para Estadstica avanzada.
Introduce a la programacin de R, al mostrar el cdigo asociado a cada accin de los mens.
Fcil instalacin.
7
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 1: Rkward
Editor de datos deciente. Se recomienda importar los datos y no editarlos directamente.
1.3.3. RExcel, ROOo
Se trata de una interfaz entre el programa R y los paquetes omticos Microsoft Ofce y Ope-
nOfce.org, en concreto, con sus respectivas hojas de clculo (Excel y Calc). Se distribuye bajo un
licencia privativa. Su sitio es http://www.statconn.com.
Adecuado para iniciarse con el R.
Fcil instalacin.
Integra tambin R-Commander con Microsoft Ofce (RExcel) u OpenOfce.org (ROOo).
En ingls y slo para Windows.
1.4. Interfaces para programacin en R
La propia interfaz de R en Windows (Rgui) incluye un editor de cdigo (Archivo Nuevo script )
que permite redactar programas en lenguaje R. Sin embargo, cuando el tamao de los programas
empieza a ser considerable, la redaccin de cdigo con dicho editor deja de ser cmoda.
En caso de necesitar un editor ms completo, existen las siguientes opciones:
R-Sweave, RWinEdt, para usuarios de WinEdt; shareware; Windows (gura 4).
Tinn-R (gura 5); libre; Windows.
Emacs, el ms potente; slo para gurs (gura 6); Windows y Ubuntu.
8
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 2: RCommander
Figura 3: RExcel
9
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 4: RWinEdt
Figura 5: Tinn-R
10
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 6: Emacs
11
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
2. Instalacin de R, RExcel y R-Commander
2.1. Introduccin
En las secciones que siguen se ilustrarn distintas alternativas para las instalaciones de estos
programas:
1. RExcel en Microsoft Windows (seccin 2.2)
2. R-UCA en Microsoft Windows (seccin 2.3)
3. R y R-Commander en Microsoft Windows (seccin 2.4)
4. R y Rkward en Ubuntu (seccin 2.7)
En concreto, el objetivo nal es que el usuario pueda acceder al programa R y a su interfaz grca
R-Commander. Con la instalacin de RExcel, estar disponible tambin una versin para Microsoft
Excel del RCommander. R-UCA es una alternativa a instalar R y R-Commander por separado; per-
mite ejecutar directamente R-Commander sin pasar por R.
No es necesario instalar todos los programas, as que escoja la opcin que preera y compruebe
que, al nal, R y R-Commander funcionen adecuadamente.
2.2. Instalacin de RExcel
Para la instalacin del programa RExcel es necesaria una conexin a Internet. Conctese con su
navegador a la pgina http://rcom.univie.ac.at/.
Figura 7: Pgina de descarga para RExcel
Como se muestra en la gura 7, se puede descargar un paquete que contiene varios progra-
mas, todos ellos necesarios para el correcto funcionamiento de RExcel. Obviamente es necesario
disponer previamente de la Hoja de Clculo Microsoft Excel instalado en el computador. Una vez
descargado el archivo (la descarga puede llevar algunos minutos), al ejecutar el programa de insta-
lacion aparecer una ventana como se ilustra en la gura 8.
Siga los pasos de la instalacin hasta llegar a la ventana que aparece en la gura9, donde se
marcarn las casillas
Ggobi and RGgobi;
Notepad++ and NppToR;
Use Internet Explorer http proxy (slo si se conecta desde la Universidad de Oviedo).
12
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 8: Programa instalacin RExcel
Figura 9: Opciones
El programa de instalacin proceder a la descarga e instalacin de todos los paquetes necesa-
rios. Es importante que no se interrumpa la conexin a Internet ni tampoco la instalacin, aunque
parezca lenta o inactiva.
Siga todos los pasos de la instalacin sin modicaciones hasta que se complete el proceso. Si
se presentaran problemas debidos a la incorrecta instalacin de algunos paquetes, desde la misma
pgina se puede descargar cada paquete y proceder paso a paso con cada uno.
2.3. Instalacin de R-UCA
R-UCA es un proyecto que persigue facilitar la implantacin del paquete estadstico R como es-
tndar para la actividad docente e investigadora dentro del campo estadstico, en especial en la
Universidad de Cdiz. En concreto, la instalacin que aqu se comenta permite que, ejecutando
cierto programa, arranque directamente la interfaz R-Commander, sin necesidad de pasar por Rgui
(la interfaz de R en Windows, por omisin).
Para instalar el paquete R-UCA es necesaria una conexin a Internet slo durante la descarga del
archivo ejecutable. Despus ser posible trabajar sin conexin. La instalacin aqu descrita se acon-
seja para aquellos que no tengan acceso permanente de Internet; en otro caso se aconseja la insta-
lacin de una de las otras opciones descritas en este captulo. Desde la pgina http://knuth.
uca.es/R/doku.php, abra el enlace Versin 2.9.2 Paquete R-UCA para windows,
como se muestra en la gura 10.
13
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 10: Pgina web del proyecto R-UCA
Una vez que se haya descargado el paquete, proceda con la instalacin, que se abrir con una
ventana parecida a la gura 11.
Figura 11: Ventana inicial de instalacin de R-UCA
La instalacin no necesita conexin a Internet, una vez que el paquete se haya descargado.
Los pasos de la instalacin son muy sencillos, como los de cualquier programa en Windows. Una
vez completada la instalacin, busque entre los propios programas el archivo executable Rterm.
Al ejecutarlo, aparecerer una ventana de DOS, parecida a la de gura 12, junto a la ventana de
R-Commander.
2.4. Instalacin de R y R-Commander en Windows
Para la instalacin del programa R y del paquete R-Commander es necesaria una conexin a
Internet.
2.4.1. Instalacin de R
Abra la pgina www.r-project.org con su navegador. Clique en el enlace Download R como
se ilustra en la gura 13.
14
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 12: Ventana de Rterm y R-Commander
Figura 13: Pgina web del proyecto R
Una vez abierta la pgina de los espejos (mirrors), elija el enlace espaol http://cran.es.
r-project.org/. Se visualizar la pgina The Comprehensive R Archive Network, como se
muestra en la gura 14, donde debe elegir el sistema operativo adecuado.
Para los usuarios de Windows, una vez elegida la opcin Windows, como en la gura 15, se abrir
una pgina con enlaces a los dos directorios principales de la distribucin de R. Elija base. En la
nueva pgina se le presentar la ltima versin disponible de R; en el momento de la redaccin de
este texto, se trata de la 2.9.2.
Una vez completada la descarga, ejecute el archivo R-2.9.2-win32.exe. Despus de haber
elegido el idioma se abrir la pantalla de inicio de instalacin, como en la gura 16.
Siga los pasos de la instalacin sin modicar los contenidos, hasta la quinta pantalla (como se
ilustra en la gura 17), llamada Opciones de conguracin. Marque la casilla S y pase a la siguiente
pantalla.
Para los usuarios de R-Commander se aconseja marcar la opcin SDI en la sexta pantalla, como
en la gura 18.
15
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 14: The Comprehensive R Archive Network
Figura 15: R-2.9.2 para Windows
Siga sin cambios hasta la pantalla Acceso a Internet donde, si la instalacin se realiza dentro de
la Universidad de Oviedo, aconsejamos marcar la casilla Internet 2, como en la gura 19.
Siga la instalacin sin modicar el contenido de las pantallas hasta que el programa haya comple-
tado la instalacin de R.
16
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 16: Inicio de la instalacin de R
Figura 17: Opciones de conguracin
17
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 18: Modo de distribucin de ventanas
Figura 19: Acceso a Internet
18
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
2.4.2. Instalacin del paquete R-Commander
Una vez terminada la instalacin del programa R, ejectelo, asegurndose de tener activada una
conexin a Internet. El programa se abrir con una ventana parecida a la de la gura 20.
Figura 20: Ventana inicial de R
Para instalar el paquete R-Commander, seleccionar en la barra de mens Paquetes e Instalar
paquete(s)..., como se ilustra en la gura 21.
Figura 21: Instalacin de paquetes en R
Tendra que abrirse entonces una ventana con todos los posibles espejos, como en la gura 22 a
la izquierda, donde conviene seleccionar el espejo de Madrid.
Una vez elegido el espejo espaol, se abrir otra ventana con los paquetes descargables desde
el mismo. Desplazndose hacia abajo se encontrarn los paquetes de inters: se trata de todos los
paquetes entre Rcmdr y RcmdrPlugin.TeachingDemos, como se ilustra en la gura 22 a la
derecha.
El programa R empezar la instalacin de los paquetes y, una vez detenido, volver a mostrar la
pantalla de la consola. Para arrancar el R-Commander, desde la consola de R, seleccione otra vez
el men Paquetes y despus Cargar paquete... como se ilustra en la gura 23
Volver a visualizarse una lista de paquetes; baje hasta encontrar Rcmdr y crguelo.
Finalmente se abrir la ventana del programa R-Commander, que tendra que parecerse a la
gura 24.
19
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 22: Izquierda: espejos; derecha: paquetes instalables
2.5. Instalacin de editores en Windows
A la hora de manejar R a travs de su lenguaje de programacin (en vez de usando los mens de
R-Commander) se dispone de la consola y de un editor de textos (Archivo Nuevo script ).
La ventaja del editor es que los comandos se pueden escribir cmodamente en l y despus
ejecutarlos en la consola de R; resulta muy prctico cuando se tienen que escribir renglones de
comandos particularmente largos, o programas enteros.
Sin embargo, el editor de texto que incluye R es muy pobre. No permite resaltar sintcticamente,
ni sangrar el cdigo... ni ninguna de las prestaciones que suelen incorporar los editores de progra-
macin.
En esta seccin se presentan algunas alternativas al editor nativo de R.
2.5.1. RWinEdt, R-Sweave
Existe la opcin de usar conjuntamente el editor de texto WinEdt y R. Puesto que WinEdt es un
programa privativo, esta seccin est reservada para aquellos que poseen una licencia del progra-
ma.
Hay dos posibles opciones: R-Sweave y RWinEdt. De principio, R-Sweave es la opcin recomen-
dada. Para instalar R-Sweave, acuda a http://www.winedt.org/Config/modes/R-Sweave.
php y siga las instrucciones.
Para instalar RWinEdt, abra R y, en el men Paquetes..., seleccione Instalar paquetes. Una vez
elegido el espejo de Madrid, bjese el paquete Rwinedt. Cuando la instalacin (desde ahora toda
automtica) se haya acabado, vuelva al men Paquetes..., seleccione Cargar paquetes y busque
Rwinedt. Si el paquete est correctamente instalado, se abrir una ventana parecida a la que se
ilustra en la gura 25.
20
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 23: Cargar paquetes en R
Figura 24: R-Commander
2.5.2. Tinn-R
Tinn-R (Tinn Is Not Notepad-R) es un editor de cdigo que se puede utilizar con R, pero tambin
est preparado para escribir cdigo en C++, HTML, Java y otros lenguajes populares.
Entre sus principales caractersticas estn el resaltado de sintaxis y el manejo de proyectos (con-
juntos de documentos o programas). Adems, se pueden ejecutar las instrucciones de programas
escritos en R desde el editor.
Para descargarlo, vyase a la pgina http://www.sciviews.org/Tinn-R/, donde, desli-
zando hacia abajo, encontrar el enlace para la descarga (vase la gura 26).
Una vez bajado el archivo, siga las instrucciones mostradas en la gura 27, hasta que aparezca
la ventana inicial de Tinn-R.
Para escribir cdigo R, ha de utilizar un chero. Puede crear uno nuevo mediante la opcin New
del men File.
Si desea enviar rdenes al entorno R desde el chero que est editando en Tinn-R, entonces
debe arrancar una instancia de R mediante el men R. En el submen Start/close and connections,
puede escoger entre dos opciones:
Rterm para abrir una solapa de R dentro del propio Tinn-R.
21
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 25: RWinEdt
Rgui para abrir R en una nueva ventana, fuera de Tinn-R.
La eleccin depender del gusto personal.
Para escoger qu cdigo desea evaluar, tiene varias opciones bajo el submen Send del men R
de Tinn-R; por ejemplo:
File para enviar el chero entero.
Selection para el texto seleccionado (p.ej. con el ratn).
Clipboard para el texto copiado en el portapapeles.
Line para enviar el rengln donde se encuentra el cursor.
2.5.3. Emacs
Para los usuarios ms expertos, es posible usar tambien el programa Emacs como editor para R.
Una versin para Windows est disponible en la pgina http://vgoulet.act.ulaval.ca/
en/ressources/emacs/windows; descargue el archivo de instalacin, como se muestra en la
gura 28, y siga las instrucciones.
2.6. Instalacin de R y R-Commander en Ubuntu
Vaya al men Sistema, submen Administracin, opcin Gestor de paquetes Synaptic.
Busque r-cran-rcmdr.
Pulse con el botn derecho del ratn sobre el nombre del paquete encontrado, escoja Marcar
para instalar.
Pulse Aplicar.
Arranque R desde el men de aplicaciones o escribiendo R en una terminal. Una vez dentro de
R, escriba library(Rcmdr) para arrancar R-Commander.
2.7. Instalacin de R y Rkward en Ubuntu
Vaya al men Sistema, submen Administracin, opcin Gestor de paquetes Synaptic.
Busque rkward.
Pulse con el botn derecho del ratn, escoja Marcar para instalar.
Pulse Aplicar.
22
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 26: Pgina web de Tinn-R
2.8. Instalacin de Emacs-Speaks-Statistics en Ubuntu
Vaya al men Sistema, submen Administracin, opcin Gestor de paquetes Synaptic.
Busque ess.
Pulse con el botn derecho del ratn, escoja Marcar para instalar.
Pulse Aplicar.
Una vez arrancado Emacs, puede arrancar una sesin interactiva de R mediante la secuencia de
teclas M-x R RET.
2.9. Instalacin de R y R-Commander en Macintosh
Visitamos la web http://cran.r-project.org/ y clicamos en Download R for MacOS X.
En la siguiente ventana descargaremos el archivo cuya extensin acaba en .pkg.
Una vez descargado procederemos a instalar el paquete: pinchamos en el archivo e instalamos el
paquete.
23
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 27: Instalacin de Tinn-R
24
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 28: Pgina web de Emacs para Windows
25
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
26
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Una vez instalado el paquete nos crear en nuestra carpeta de aplicaciones dos programas, el R,
y el R-64 (siempre que nuestro procesador sea de 64 bits). Hay que instalar el Tcl/Tk que est en
http://cran.r-project.org/bin/macosx/tools.
http://cran.r-project.org/bin/macosx/tools/tcltk-8.5.5-x11.dmg
Ahora tenemos que bajarnos la librera Rcmdr, que es la interfaz con la que trabajaremos en las
clases.Para ello abrimos el R y escribimos lo siguiente:
install.packages(Rcmdr", dependencies=TRUE)
La instalacin de los paquetes es un proceso largo, no salga del programa hasta que nalice,
una vez nalizada podremos trabajar con nuestro Mac sin problema. El programa es prcticamente
igual que en Windows con la diferencia que para iniciar el paquete Rcmdr lo tenemos que hacer es
escribir un comando en la consola: library(Rcmdr).
Nota: Es necesario tener instalado un modulo denominado X11.Sino nos dar un error y no nos
dejar iniciar la librera Rcmdr.
http://support.apple.com/kb/DL641
Sobre el X11 (Ayuda de Apple) : X11 est disponible en el disco de instalacin de Mac OS X,
de modo que puede instalarse al mismo tiempo que Mac OS X. Para instalar X11 en un sistema
que ya tiene Mac OS X instalado, inserte el disco de instalacin de Mac OS X y haga doble clic
en el paquete Instalaciones opcionales. (Es posible que deba desplazarse hacia abajo para verlo.)
Siga las instrucciones que se muestran en pantalla. Una vez terminada la instalacin, escribimos
library(Rcmdr) y vemos el Rcmdr corriendo en Mac OS.
Si se procede a la instacin de R y R-Commander en la Universidad, pueden aparecer mensajes
de error debido al uso del proxy. En tal caso, crear un archivo de texto plano de nombre .Rprofile
que contenga la siguiente orden:
Sys.setenv(http_proxy="http://user:password@proxy.uniovi.es:8888")
. Este archivo de texto se ha de guardar en su directorio personal.
27
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
3. RExcel
3.1. Introduccin
RExcel es un programa que permite usar R desde Excel. Una vez instalado aparecer un nuevo
men en la ventana de Excel, desde el cual se puede acceder y comunicar con R. La ventaja es
que se pueden analizar bases de datos contenidas en hojas de clculo Excel (que es la forma en
que ms comunmente se presentan los datos), aprovechando todas las posibilidades que ofrece un
paquete estadstico profesional como R.
3.2. Primeros pasos
Abra el programa Excel. Si la instalacin de RExcel no hubiera tenido problemas, en la barra
de mens aparecer un nuevo men llamado Complementos, como se muestra en la gura 29.
Abriendo este men se visualizar una lista de opciones. En primer lugar, hay que activar R desde
Excel. En este momento el programa crea un conexin entre el Excel y el R, de forma que todo lo
que aparece en un programa sea accesible en el otro y viceversa.
Figura 29: Como abrir R desde Excel
3.3. R-Commander en RExcel
Desde RExcel, una vez abierto el R, es posible acceder al programa R-Commander, que ser el
eje central del desarrollo de este curso. Para abrirlo, siga las instrucciones contenidas en la gura
30. Se puede elegir entre dos posibles opciones: visualizar la barra de los mens en el mismo Excel
o en el R-Commander. Se aconseja optar por la segunda opcin, porque si no los mens en Excel
podran aparecer en ingls o en orden distinto del que se comenta en este texto.
Una vez abierto el Rcommander, tendra que visualizarse una pantalla parecida a la gura 31.
28
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 30: Cmo abrir R-Commander desde Excel
Figura 31: R-Commander
3.4. Cargar datos
La ventaja de usar este paquete es que se pueden escribir y cargar las propias bases de datos
en Excel y transferirlas despus al R-Commander, donde se pueden analizar y elaborar con toda la
potencia de clculo de R.
Para pasar los datos desde Excel a R-Commander, seleccione el conjunto de datos que se quiere
transferir y, pulsando la tecla derecha del ratn, se abrir un men parecido al de la gura 32.
Seleccione Put dataframe in R y asigne un nombre al nuevo conjunto de datos.
Si ahora miramos el R-Commander, aparecer el nombre de nuestro conjunto de datos en la barra
de elementos activos, al lado de Conjunto de datos, y se podrn visualizar los valores de los datos
pulsando el botn Visualizar conjunto de datos, como se ve en la gura 33.
Ahora que hemos pasado nuestros datos a R-Commander, podemos pasar al proximo captulo,
donde aprenderemos a aprovechar las posibilidades de este programa.
29
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 32: Pasar datos a R-Commander
Figura 33: Datos en R-Commander
30
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4. R-Commander
4.1. Introduccin
Antes de profundizar en el conocimiento del lenguaje R, es til empezar motivndose mediante
una interfaz que nos ofrezca la realizacin de las tareas, al menos de las ms sencillas. Para ello, R-
Commander es una interfaz ideal que, adems de permitirnos interactuar con R para realizar anlisis
estadsticos bsicos, presenta el cdigo en lenguaje R que corresponde a las acciones solicitadas.
Es posible que, para muchos de los alumnos del curso, R-Commander sea una herramienta
suciente para todos los anlisis estadsticos que tengan que abordar. Quienes encuentren R-
Commander insuciente, una vez superado el respeto inicial hacia R tendrn que manejarse di-
rectamente con la consola de R, creando y editando instrucciones a mano, lo que puede resultar
ms engorroso, pero que permite un control total sobre los procedimientos que en cada momento
se van a aplicar.
4.2. Primeros pasos
Segn la version de R y R-Commander que se eligi instalar, hay distintas formas de abrir R-
Commander:
Si instal RExcel, siga las instrucciones de la seccin 3.2.
Si instal R-UCA, abriendo Rterm automticamente se abrir tambin el R-Commander.
Si instal directamente R, siga las instrucciones que siguen, o mire la seccin 2.4.2.
Desde la consola de R, seleccione Paquetes y despus Cargar paquete... como se mues-
tra en la gura 34
Figura 34: Cargar paquetes en R
Se visualizar una lista de paquetes; baje hasta encontrar Rcmdr y seleccinelo. Se abrir la
ventana del programa R-Commander, que tendra que parecerse a la gura 35.
4.3. Aspecto
Una vez abierto el R-Commander como se explica en la seccin precedente, aparecer una ven-
tana parecida a la gura 36.
La ventana consta de las siguientes partes:
barra de mens;
31
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 35: R-Commander
Figura 36: Aspecto de R-Commander
barra de elementos activos (conjuntos de datos y modelos);
rea de instrucciones;
rea de resultados;
rea de mensajes.
4.4. Los datos
En las secciones que seguirn, se usar una base de datos elaborada a partir de una encuesta
realizada entre los turistas que pernoctan en Asturias.
Los datos son de distinta naturaleza: hay datos numricos (por ejemplo los gastos) y datos cate-
gricos (por ejemplo el sexo).
El tamao de la base de datos es de 2565 unidades. Se muestra una tabla de ejemplo en la gura
37.
32
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 37: Base de datos sobre turismo en Asturias
Por cada entrevistado, se recogen los siguientes datos:
Cdigo del cuestionario (codcue);
Zona geogrca (p1)
1. Occidente
2. Centro
3. Oriente
Periodo de recogida datos (p2)
1. Enero - Mayo
2. Junio - Septiembre
3. Octubre - Diciembre
Motivos de su visita (p3)
1. Ocio - Vacaciones
2. Trabajo
3. Otro
Qu personas lo acompaan en este viaje? (p4)
1. Viaja solo
2. En pareja
3. En familia
4. Amigos - Grupo
5. Compaeros de trabajo
Medio de transporte de llegada (p5)
1. Coche - Moto propios
2. Coche de alquiler
3. Autobs contratado
4. Autobs de lnea regular
5. Tren
6. Avin
Tipo de establecimiento en que se aloja (p6)
33
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
1. Hotel
2. Turismo Rural
3. Camping
Procedencia de la persona entrevistada (p7)
1. Asturiano
2. Nacional
3. Extranjero
Cuntas noches pernoctar en Asturias? (p8)
La estancia, incluye n de semana? (p9)
1. S
2. No
Gasto en comidas en el alojamiento (p10)
Gasto en comidas fuera del alojamiento (p11)
Gasto en bebidas en bares y cafeteras (p12)
Gasto en diversin en pubes y discotecas (p13)
Gasto en alojamiento (p14)
Gasto en actividades (p15)
Gasto en transporte (p16)
Gasto en compras varias (p17)
Sexo de la persona entrevistada (p18)
1. Femenino
2. Masculino
Gasto total diario por persona (gasdia)
Gasto total en el viaje por persona (gastotal)
4.5. Datos (I)
A continuacin se explicarn los comandos bsicos para abrir una base con R-Commander. Los
datos que usaremos en los ejemplos son los mismos de la seccin precedente.
El men que contiene los comandos de esta seccin est representado en la gura 38.
Figura 38: Men datos (primera parte)
34
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.5.1. Nuevo conjunto de datos
Este comando permite crear a mano y activar un nuevo conjunto de datos. Una vez asignado un
nombre al nuevo conjunto de datos se abrir una tabla vaca, que el usuario tendr que rellenar con
sus propios datos, como se muestra en la gura 39.
Figura 39: Crear conjunto de datos
4.5.2. Cargar conjunto de datos
Este comando permite abrir un conjunto de datos ya existente, guardado en un chero con el
formato nativo de R (.rda). En la gura 40 se representa el procedimiento para abrir la base de
datos Turisguay, que seguiremos utilizando a lo largo de los prximos captulos.
Figura 40: Cargar datos
35
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.5.3. Importar datos
El programa R y el paquete R-Commander no solo permiten crear y trabajar sobre datos con
formato nativo, sino que permiten tambin utilizar cheros provenientes de otros programas. Los
formatos de chero soportados por R-Commander son
texto puro (en chero, portapapeles o direccin URL);
SPSS;
Minitab;
STATA;
Excel;
Access.
Como ejemplo, abramos el conjunto de datos dataexcel.xlsx creado en Excel, siguendo las
instrucciones de la gura 41 en la pgina 36.
Figura 41: Importar datos desde Excel
36
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.5.4. Cambiar conjunto de datos
Con R-Commander es posible trabajar con varios conjuntos de datos cargados al mismo tiempo.
Sin embargo, solo uno estar activo, y su nombre aparece en la barra de elementos activos a la
derecha de Conjunto de datos, como se ilustra en la gura 42.
Figura 42: Conjunto de datos activo
Para visualizar todos los conjuntos de datos disponibles, haga doble clic en el recuadro de gura
43, y aparecer una ventanita con la lista de los nombres de los conjuntos de datos que estan
cargados.
Figura 43: Lista de conjuntos de datos disponibles
Desde la consola de R-Commander es posible cambiar el conjunto de datos activo usando el
menu de gura 44. En este ejemplo se ilustra cmo pasar desde el conjunto de datos Turisguay
al conjunto de datos Jovenguay.
Figura 44: Cambiar conjunto de datos activo
Todos los anlisis y los estadsticos que se calculan en R-Commander se realizan sola y exclu-
sivamente sobre la base de datos activa, as que tenga cuidado cuando maneje varios conjuntos
de datos a la vez: asegrese de trabajar sobre el conjunto apropriado! Es fcil despistarse al crear
nuevos conjuntos de datos mediante ltros u otras modicaciones.
37
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.6. Estadsticos
A continuacin se explicar, con tablas y ejemplos, el funcionamiento de los principales comandos
disponibles en R-Commander para el clculo de estadsticos. Los comandos de esta seccin se
encuentran en el men de la gura 45.
Figura 45: Men de estadsticos
4.6.1. Resmenes
Este men contiene los estadsticos bsicos para resumir el conjunto de datos activo. Los coman-
dos contenidos en este men aparecen en la gura 46, y se explicarn en los prximos epgrafes.
Figura 46: Men de resmenes
Conjunto de datos activos Segn la naturaleza de la variable (cuantitativa o cualitativa), tendre-
mos (gura 47):
Resmenes numricos para variables cuantitativas:
mnimo y mximo
media y mediana
primer y tercer cuartil
Es decir, los cinco cuartiles ms la media.
Frecuencias absolutas para variables cualitativas (categricas, factores).
38
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 47: Resmenes del conjunto de datos activo
Resmenes numricos Este comando hace el resumen de una variable numrica (o varias). Fren-
te al resumen descrito antes, ofrece adems la desviacin tpica.
Si, por ejemplo, queremos el resumen de la variable numrica Cuntas noches pernoctar en
Asturias? (p8), seguiremos las instrucciones de la gura 48.
Figura 48: Resmenes numricos de Cuntas noches pernoctar en Asturias? (p8)
Tambin se pueden calcular los resmenes de una variable numrica, segmentando los resul-
tados con respecto a una variable categrica. Si por ejemplo queremos conocer los estadsticos
de la variable Gasto total diario por persona (gasdia) con respecto a Procedencia de la persona
entrevistada (p7), seguiremos los pasos que se muestran en la gura 49.
La salida ser una tabla parecida a la que aparece en la gura 50.
Distribucin de frecuencias Se usa para calcular las frecuencias de los casos observados en
una variable categrica. Si por ejemplo estamos interesados a conocer la frecuencia de turistas
asturianos, nacionales y extranjeros (Procedencia de la persona entrevistada (p7)), haremos como
se ilustra en la gura 51.
Nmero de observaciones ausentes Este comando genera una tabla donde por cada variable
se muestra el numero de observaciones ausentes.
39
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 49: Resmenes numricos segmentados
Figura 50: Descripcin del gasto segn procedencia
Figura 51: Procedencia de los turistas: frecuencias
Para el conjunto de datos Turisguay, la ejecucin del comando genera la tabla de la gura 52.
Figura 52: Nmero de ausentes
40
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Tablas de estadsticos Se pueden hacer tablas con los estadsticos (media, mediana o desviacin
tpica) para comparar varias variables. Si por ejemplo queremos saber cul es el Gasto total en el
viaje por persona (gastotal) medio de los turistas, segn sean hombres o mujeres (Sexo de la
persona entrevistada (p18)) y segn la Procedencia de la persona entrevistada (p7), haremos como
se ilustra en la gura 53.
Figura 53: Tablas de estadsticos
La salida ser una tabla parecida a la que se muestra en la gura 54.
Figura 54: Gasto medio segn sexo y procedencia
Matriz de correlaciones Calcula las matrices de correlaciones de Pearson o de Spearman entre
las variables seleccionadas.
Test de correlacin Contraste para la asociacin entre variables emparejadas. Se pueden calcular
distintos coecientes (Pearson, Tau de Kendall y Rho de Spearman).
Test de normalidad de Shapiro-Wilk Realiza el contraste de normalidad de Shapiro-Wilk. La
salida ser el valor del estadstico y el correspondiente P-valor.
4.6.2. Tablas
Tablas de contingencia Permite hallar las frecuencias de la distribucin conjunta de dos variables
categricas, es decir, el nmero de casos en que se maniestan simultneamente cada combinacin
de valores de cada variable.
Si por ejemplo queremos contar cuntos encuestados se quedarn durante el n de semana (La
estancia, incluye n de semana? (p9)), en funcin del Periodo de recogida datos (p2), haremos
como se muestra en la gura 55. Tambin se puede calcular el estadstico ji cuadrado del contraste
de independencia u homogeneidad.
Tablas de entradas mltiples Este men permite construir tablas para la distribucin conjunta
de tres, cuatro o ms variables. Si por ejemplo queremos hacer una tabla donde aparezcan las
frecuencias de las variable Periodo de recogida datos (p2) y Procedencia de la persona entrevistada
41
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 55: Existe una relacin signicativa entre periodo de visita y estancia en n de semana
(p7), agrupadas segn la variable Sexo de la persona entrevistada (p18), marcaremos en la primera
columna p2, en la segunda p7 y en la tercera p18. La salida se muestra en la gura 56.
Figura 56: Tablas de triple entrada: salida
Para el caso de ms de tres variables, obsrvese la gura 57; en la pantalla de construccin de la
tabla se marcarn las variables de inters, una en la primera lista, una en la segunda y una o ms
en la tercera.
Si por ejemplo queremos conocer cuntos casos hay por cada posible valor de las cuatro variables
Periodo de recogida datos (p2), Procedencia de la persona entrevistada (p7), La estancia, incluye
n de semana? (p9) y Sexo de la persona entrevistada (p18), elegiremos como en la gura 57, cuya
salida ser una lista de tablas (gura 58).
Figura 57: Tablas de entrada mltiple
42
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 58: Tablas de entrada mltiple: salida
4.6.3. Medias
Test t para una muestra Sirve para hacer contrastes de hiptesis para la media de una variable
cuantitativa con distribucin normal. En la pantalla de construccin del contraste se pueden elegir:
tipo de contraste bilateral (igualdad), unilaterales (menor o mayor);
valor de la media bajo la hiptesis nula;
nivel de conanza para el intervalo de estimacin.
Por ejemplo, si queremos averiguar si la media del Gasto total en el viaje por persona (gastotal)
es mayor que 300, haremos como se muestra en la gura 59, cuya salida aparece en la gura 60.
Test t para muestras independientes Realiza un contraste de hiptesis de igualdad de medias
entre dos muestras. Se necesita por un lado una variable cuantitativa y, por otro, una variable dico-
tmica (cualitativa o factor, con slo dos modalidades) que indique los dos grupos (por ejemplo, el
sexo).
43
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 59: Contraste t para una media
Figura 60: No se rechaza que el gasto total sea igual a 300 euros al 95 por ciento de conanza
En el ejemplo de la gura 61, se muestra cmo realizar un contraste para averiguar si el Gasto
total en el viaje por persona (gastotal) promedio es mayor para las mujeres que para los hombres,
con un nivel de conanza del 95 % y suponiendo que la dos muestras tengan la misma varianza. La
salida aparece en la gura 62.
Figura 61: Contraste t para muestras independientes
Como otro ejemplo, queremos averiguar si en el Gasto total en el viaje por persona (gastotal)
medio inuye la variable dicotmica La estancia, incluye n de semana? (p9) (gura 63).
Test t para datos emparejados Se utiliza para contrastar dos variables en que los datos se su-
ponen relacionados, como al comparar dos variables observadas sobre los mismos individuos. Por
ejemplo, si queremos averiguar si el gasto medio en Gasto en bebidas en bares y cafeteras (p12) es
44
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 62: El gasto medio es igual para hombres y mujeres
Figura 63: El gasto medio es signicativamente distinto si la estancia incluye n de semana
igual al gasto medio en Gasto en diversin en pubes y discotecas (p13), haremos como se muestra
en la gura 64, cuya salida aparece en la gura 65.
Figura 64: Contraste t para datos emparejados
Figura 65: La diferencia entre los gastos medios es signicativa
45
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
ANOVA de un factor Este comando permite contrastar la igualdad de medias en varias muestras
independientes, mediante un anlisis de varianza. Si por ejemplo queremos comprobar si el Gasto
total en el viaje por persona (gastotal) medio es igual independientemente del valor de Zona
geogrca (p1), haremos como se muestra en la gura 66, marcando la variable gastotal en la
columna izquierda y p1 en la derecha; si queremos ver si depende del sexo, marcaremos gastotal
a la izquierda y p18 a la derecha. La salida est representada en la gura 67.
Figura 66: Anlisis de varianza con un solo factor
Figura 67: En el gasto medio inuye la zona pero no el sexo
4.6.4. Varianzas
Test F para 2 varianzas La resolucin del contraste t para comparar medias de muestras indepen-
dientes depende de la homoscedasticidad (igualdad de varianzas) en las dos muestras. Mediante
el comando que nos ocupa se puede realizar un contraste F para comparar la varianza de dos
muestras, suponiendo que la variable sigue una distribucin normal.
Como ejemplo, pensemos en el Gasto en diversin en pubes y discotecas (p13), en funcin de
si el encuestado se queda o no el n de semana (La estancia, incluye n de semana? (p9)). Para
probar si las dos muestras tienen la misma varianza seguimos los comandos que se muestran en la
gura 68. La salida es el resultado del contraste de hiptesis con su P-valor (gura 69).
46
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 68: Contraste F de igualdad de dos varianzas
Figura 69: Las varianzas son signicativamente distintas, por lo que hay que ser prudente al con-
trastar la igualdad de medias
Test de Bartlett Una de las hiptesis del anlisis de varianza es la homoscedasticidad entre las
muestras independientes. El contraste de Bartlett es similar al contraste del epgrafe anterior, pero
permite contrastar ms de dos muestras independientes.
Las guras 70 y 71 representan el mismo ejemplo del epgrafe anterior, considerando las mismas
variables, pero con el contraste de Bartlett en vez del contraste F.
4.6.5. Test no paramtricos
Test de Wilcoxon para dos muestras Contraste no paramtrico correspondiente al contraste t
de medias.
Si por ejemplo queremos averiguar si el Gasto en diversin en pubes y discotecas (p13) es distinto
respecto a si el turista encuestado se queda durante el n de semana, podemos realizar el contraste
como en se muestra en la gura 72. La salida est representada en la gura 73.
47
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 70: Contraste de Bartlett: entrada
Figura 71: Contraste de Bartlett: salida
Test de Kruskall-Wallis Es un contraste no paramtrico correspondiente al contraste de igualdad
de medias de dos o ms poblaciones.
Considerando por ejemplo el Gasto total en el viaje por persona (gastotal) en las tres distintas
temporadas en que se recogieron los datos (Periodo de recogida datos (p2)), podemos preguntar-
nos si las tres muestras provienen de la misma poblacin. Para realizar la prueba en R-Commander,
sganse las instrucciones de la gura 74, y se obtendr la salida de la gura 75.
4.6.6. Anlisis dimensional
Agrupacin jerrquica Este comando permite hacer agrupacines jerrquicas. Si por ejemplo
queremos agrupar las variables Gasto total diario por persona (gasdia) y Gasto total en el viaje
por persona (gastotal), seguiremos las instrucciones de la gura 76. Adems de dibujar el den-
drograma, tambien se crear una nueva variable HClust.2, que puede ser agregada al conjunto
de datos activo con el comando del prximo epgrafe.
48
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 72: Contraste de Wilcoxon para dos muestras: entrada
Figura 73: Contraste de Wilcoxon para dos muestras: salida
Figura 74: Contraste de Kruskall-Wallis: entrada
Figura 75: Contraste de Kruskall-Wallis: salida
49
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 76: Agrupacin jerrquica y dendograma
Agregar la agrupacin jerrquica al conjunto de datos... Este comando permite agregar al
conjunto de datos activos las variables indicadoras de los grupos generados con el comando del
epgrafe anterior.
Por ejemplo, podemos agregar la variable HClust.2, que hemos generado en el ejemplo prece-
dente, siguiendo las instrucciones de la gura 77. Como se puede ver en la tercera ventana de la
gura 77, la nueva variable aparece al nal de la base de datos y se presenta con tres niveles.
Una vez que hemos adjuntado esta nueva variable, podemos calcular, por ejemplo, el gasto total
segn la variable de agrupacin, como se indicaba en la seccin 4.6.1 (gura 78).
50
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 77: Agregar la variable HClust.2 al conjunto de datos activo
4.6.7. Ajuste de modelos
En esta parte analizaremos cmo construir modelos de regresin lineal para los datos, mientras
la parte de evaluacin y mejora de los ajustes se tratar ms adelante. El men para construir los
modelos est representado en la gura 79.
Regresin lineal Es muy sencillo construir un modelo de regresin. Una vez jadas la variable
por explicar y todas las variables explicativas, se construye el modelo segn las instrucciones de
gura 80. En este caso hemos elegido el Gasto total en el viaje por persona (gastotal) como
variable por explicar y todas las otras variables numricas se utilizarn como variables explicativas.
51
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 78: Gasto total segn la variable de agrupacin HClust.2
Figura 79: Men de ajuste de modelos
El programa calcula el valor de los coecientes y tambin realiza una primera evaluacin del ajuste,
tal como se muestra en la gura 81.
Modelo lineal Es muy parecido al caso precedente, pero en este modelo se pueden incorporar
tambin variables categricas. En el ejemplo hemos calculado el valor de los coecientes para un
modelo lineal con todas las variables categricas de la base de datos. Como se muestra en la gura
82, tambin se pueden efectuar trasformaciones al vuelo sobre el valor de las variables explicativas,
bien con las teclas ilustradas en la ventana, bien tecleando directamente. La salida est representa-
da en gura 83.
52
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 80: Regresin lineal
Figura 81: Regresin lineal: salida
53
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 82: Modelo lineal
Figura 83: Modelo lineal: salida
54
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.7. Modelos
En este apartado presentamos las herramientas bsicas para la evaluacin de modelos estads-
ticos (por ejemplo, modelos de regresin lineal). El men que permite acceder a los comandos para
la evaluacin de los modelos est representado en la gura 84.
Figura 84: Men de modelos
4.7.1. Resumir el modelo
Es un primer vistazo al modelo; nos ensea las caractersticas bsicas del modelo, como se ilustra
en la gura 85:
frmula del modelo;
coecientes calculados para cada variable explicativa:
coeciente;
desviacin tpica;
valor estadstico t;
P-valor;
informacin sobre el ajuste:
R cuadrado;
estadstico F y su P-valor.
Figura 85: Resumen de modelo
55
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.7.2. Seleccin del modelo paso a paso
Esta tcnica permite, de forma rpida y automtica, renar un modelo con distintos procedimien-
tos. La idea es probar a quitar y aadir variables a un modelo ya existente, evaluar los efectos de
dichos cambios y elegir qu variables mantener y cules omitir. Para la evaluacin de la bondad del
ajuste se pueden usar dos mtodos:
BIC: criterio de informacin bayesiano
AIC: criterio de informacin de Akaike
mientras que las tcnicas para quitar y aadir variables son cuatro:
atrs/adelante;
adelante/atrs;
atrs;
adelante.
Combinando tcnicas y formas de evaluacin se pueden construir algoritmos de mejoramiento del
ajuste de forma bastante sencilla.
Consideramos ahora el modelo construido en la seccin precedente, donde se explicaba el gasto
total en funcin de todas las variables numricas de la base de datos. Con el comando Resumir el
modelo, podemos averiguar que no todas las variables son signicativas, y que en general el modelo
podra ser mejorado. Aplicamos entonces una de las tcnicas propuestas (gura 86) y analizamos
los resultados (gura 87 en la pgina 57).
Figura 86: Seleccin paso a paso: entrada
La tcnica atrs/adelante con criterio de informacin bayesiano es un algoritmo compuesto de los
siguientes pasos:
1. Inicio: se considera el modelo con todas las variables explicativas posibles.
2. Quitar una variable y evaluar el modelo con el criterio. Una vez acabado, volver a aadir la
variable. (Paso atrs.)
3. Repetir el paso precedente hasta haber probado con todas las variables.
4. Ordenar los modelos calculados en los pasos 2 y 3 y construir el nuevo ajuste con una variable
menos.
5. Repetir los pasos 2 y 3, aplicndolos a el nuevo modelo, y esta vez tambin se puede aadir
la variable quitada. (Pasos atrs/adelante.)
6. Ejecutar el procedimiento hasta que ningn cambio en las variables mejore en el ajuste.
56
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 87: Seleccin paso a paso: salida
7. El modelo nal ser el modelo al que no se puedan ni aadir ni quitar variables sin bajar la
calidad.
La tcnica llamada adelante/atrs sigue el mismo algoritmo, pero en vez que arrancar con el
modelo con todas variables, arranca con el modelo sin variables explicativas y va aadiendo una a
una las variables hasta que se queda con el mejor ajuste.
57
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Las tcnicas adelante y atrs son ms sencillas porque no consideran la posibilidad de volver a
aadir (o quitar) variables descartadas (paso 5).
4.7.3. Grcas bsicas de diagnstico
Una vez seleccionado el modelo, es posible dibujar las grcas de diagnstico. La salida, en
el caso del modelo que explica el Gasto total en el viaje por persona (gastotal) en funcion de
Cuntas noches pernoctar en Asturias? (p8), Gasto en bebidas en bares y cafeteras (p12),
Gasto en diversin en pubes y discotecas (p13), Gasto en alojamiento (p14) y Gasto en transporte
(p16), est representada en la gura 88.
Figura 88: Grcas de diagnstico
En los prrafos siguientes se ofrece una sucinta explicacin de las grcas.
1. Residuos frente a ajustados.
Representa los residuos (diferencias entre el valor real y el valor ajustado/predicho) frente a los
valores ajustados. Si la regresin es simple (Y = a+bX), sera equivalente a un grco de residuos
frente a la variable independiente (X).
Si un punto est relativamente muy por encima o muy por debajo de la recta horizontal, es un
valor atpico (aparecen destacados en el grco con sendas etiquetas). El grco sirve tambin
para detectar heteroscedasticidad, falta de independencia, falta de (recti)linealidad, etc.
2. Residuos tipicados frente a cuantiles tericos (de una distribucin gausiana)
58
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Una hiptesis de los modelos de regresin habituales una hiptesis es que los residuos tienen
distribucin gausiana (normal).
El grco cuantil-cuantil sirve para diagnosticar el cumplimiento de esa hiptesis. En el caso
perfecto, todos los puntos estaran en lnea recta. Las desviaciones de la recta suelen apreciarse en
los puntos de los extremos. Los puntos que ms se desvan de la hiptesis aparecen destacados
con sendas etiquetas identicativas.
3. Escala-posicin: raz de valor absoluto de residuo frente a valores ajustados
Cabe destacar que, en contraste con la primera grca, en sta se toma el valor absoluto, para
comparar la magnitud del residuo independientemente del sentido arriba/abajo; y se toma la raz
cuadrada para disminuir la asimetra, que suele dicultar la interpretacin.
Por lo anterior, puede facilitar la diagnosis de la homoscedasticidad. Sin embargo, puede dicultar
la diagnosis de linealidad, precisamente por las trasformaciones a que se someten los residuos.
4. Residuos tipicados frente a palancaje
El palancaje es una medida de la inuencia que tiene un punto en el clculo de los coecien-
tes del modelo. El palancaje se basa en la aportacin del punto a las varianzas de las variables
independientes.
Los puntos a la derecha de la grca tienen gran palancaje. Tales puntos poseen una inuencia
notable si el residuo correspondiente se separa mucho del cero; en concreto, se suele considerar
muy inuyente si supera la distacia de Cook igual a 1 (que se corresponde con una de las lneas
rojas de la grca). Los puntos notables aparecen destacados con su etiqueta.
4.8. Grcas
Unas herramientas muy tiles a la hora de hacer estadstica son sin duda las grcas. Muchas
veces la visualizacin de la grca adecuada nos ayuda a hacernos una idea preliminar de la variable
que queremos analizar.
En lo que sigue aprenderemos a construir distintas grcas usando el men apropiado. El men
que permite acceder a los comandos para construir las grcas est representado en la gura 84.
Figura 89: Men de grcas
59
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.8.1. Diagrama de caja
Dibuja el tpico diagrama de cajas y bigotes para una variable cuantitativa. Siguiendo las instruc-
ciones de la gura 90, podemos construir la grca de la gura 91, que representa el diagrama de
caja de la variable Gasto total diario por persona (gasdia).
Figura 90: Diagrama de caja
Figura 91: Diagrama de caja: gasto diario
Tambin se pueden construir diagramas de cajas para variables cuantitativas segmentadas con
respecto a otras variables categricas. En el ejemplo de gura 92 hemos construido el diagrama para
el Gasto total diario por persona (gasdia) con respecto a la Procedencia de la persona entrevistada
(p7).
4.8.2. Histograma
Este comando permite construir histogramas para variables numricas. En la gura 93 en la pgi-
na 61 est representado el histograma del Gasto total diario por persona (gasdia).
Cmo cambiar las etiquetas del grco?
60
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 92: Diagrama de caja por grupos
Figura 93: Histograma: gasto diario
Siendo las grcas unas herramientas muy tiles y ampliamente utilizadas en estadstica, es
necesario que sean lo ms claras posible y que se puedan presentar incluso solas, o sea, sin estar
acompaadas por datos numricos; por esta razon deberan ser auto-explicativas en la mayora de
los casos.
61
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Es importante entonces que cada grca contenga toda la informacin necesaria para su inter-
pretacin. Uno de los aspectos importantes en este sentido es explicar, con etiquetas, el ttulo de la
grca y las variables que en ella intervienen.
Desafortunadamente, con R-Commander no es posible modicar estas caractersticas, pero en lo
que sigue daremos una explicacin sencilla de cmo operar con los comandos de R para aadir a
una grca generada con R-Commander las etiquetas de las variables y del ttulo.
Para empezar, cuando se genera una grca con R-Commander, automticamente se est pi-
diendo a R seguir algunos comandos especcos, los cuales aparecen reejados en el rea de
instrucciones; en el caso de la grca representada en la gura 93, que representa el histograma
del gasto diario, el comando seria:
hist (Turisguay$gasdia, scale="percent", breaks="Sturges", col="darkgray")
que corresponde a pedir:
hist (...) un histograma...
Turisguay$gasdia ...de la variable Gasto total diario por persona (gasdia) en el con-
junto de datos Turisguay...
scale="percent" ...que representa los porcentajes...
breaks="Sturges" ...calculando el ancho de las columnas con el mtodo de Sturges...
col="darkgray" ...y pintando las columnas de un color gris oscuro.
Para aadir las etiquetas habr que usar el comando:
hist (Turisguay$gasdia, main="Gasto total diario",
xlab="Euros", ylab="Porcentaje (%)",
scale="percent", breaks="Sturges", col="darkgray")
donde las opciones aadidas signican que:
main="Gasto total diario" el ttulo ser Gasto total diario,
xlab=.
Eu
ros" el eje horizontal llevar la etiqueta Euros y
ylab="Porcentaje (%)" el eje vertical llevar la etiqueta Porcentaje ( %).
El resultado de este comando est representado en la gura 94.
4.8.3. Grca de barras
Es una grca adecuada para representar las frecuencias de las variables categricas, en espe-
cial las ordinales. En el eje horizontal se ponen las categoras (niveles o modalidades) y en el eje
vertical se representan las frecuencias por cada nivel. En la gura 95 se representa la grca de
barra de la variable Procedencia de la persona entrevistada (p7).
Tambin a las grcas de barra es importante aadir las etiquetas de los ejes y el ttulo; si para
producir la grca de barras 95, el comando que automticamente ha usado R-Commander ha sido:
barplot (table (Turisguay$p7), xlab="p7", ylab="Frequency")
para aadir ttulo y etiquetas, usaremos lo siguiente:
barplot (table (Turisguay$p7), xlab="p7", ylab="Frequency",
main="Procedencia")
cuyo resultado se representa en la gura 96.
62
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 94: Histograma con etiquetas
Figura 95: Grca de barras: procedencia
63
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 96: Grca de barras con ttulo y etiquetas
4.9. Datos (II)
En esta seccin seguiremos explicando los comandos contenidos en el men Datos, que ya
hemos introducido en la seccin 4.5.
En esta seccin veremos aquellos comandos que permiten modicar, agrupar, segmentar y elimi-
nar tanto los datos como las variables del conjunto de datos activo.
4.9.1. Conjunto de datos en paquetes
Existen diferentes bases de datos de ejemplo que acompaan a algunos de los paquetes de R.
Con este comando se puede cargar estos archivos y, si posible, obtener informacin adicional sobre
los mismos.
4.9.2. Conjunto de datos activos
Seleccionar Equivale a pinchar con el ratn en el nombre del conjunto de datos activo, sito en la
barra de elementos activos de R-Commander.
64
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Actualizar Es conveniente si se realizan acciones en la consola de R, al margen de R-Commander.
De esta manera, R-Commander actualiza su informacin sobre los datos que pudieron modicarse
sin que se diera cuenta.
Ayuda sobre conjunto de datos activo Si existe informacin adicional sobre el conjunto de da-
tos se visualizar en una ventana (es el caso de muchas de las bases de datos contenidas como
ejemplos en los paquete de R).
Establecer nombres de casos Sirve para usar una variable como nombre de los casos (individuos
de la muestra), en lugar del nmero consecutivo que se le asigna por omisin, de forma que se
puede identicar ms facilmente un caso en una tabla o en una grca. En nuestro ejemplo, la
variable Cdigo del cuestionario (codcue) representa el cdigo del encuestado y se presta muy
bien como nombre de los casos. De hecho slo las variables que tienen un valor distinto por cada
caso se pueden utilizar (razonablemente) para nombrar los casos.
Variables del conjunto de datos activo Este comando enumera las variables del conjunto de
datos activo. En nuestro caso, por ejemplo, el resultado sera la lista de gura 97.
Figura 97: Variables del conjunto de datos
Filtrar el conjunto de datos activo Este comando es muy til cuando queremos restringir nuestra
base de datos a un subconjunto de casos que cumplen una determinada condicin.
Si por ejemplo queremos trabajar slo con los datos de los turistas de la zona occidental de
Asturias, haremos como en gura 98. Ojo, que para indicar igualdad hay que usar un doble signo
igual: ==; para desigualdad, !=.
Conviene indicar un Nombre del nuevo conjunto de datos, de forma que la salida es un nuevo
conjunto de datos, distinto del original, en el sentido de que pueden coexistir ambos en el entorno
R. En el nuevo conjunto aparecen slo los datos relativos a los encuestados de la zona occidental.
Tambin se pueden poner condiciones ms complejas. Para expresar la seleccin se pueden usar
los operadores lgicos de conjuncin Y (&), de disyuncin O (|) y de negacin NO (!). Pruebe a
ltrar los datos, a partir del conjunto de datos Turisguay, segn las siguientes condiciones:
turistas extranjeros que vinieron en avin
p7 == 'Extranjero' & p5 == 'Avion' TurisExtrAvion
espaoles (asturianos y nacionales) que se gastaron a lo sumo cinco euros en bares y cafe-
teras
p7 != 'Extranjero' & p12 <= 5 TurisEspBaresMenos5
parejas que gastaron ms de diez euros de alojamiento por noche
p4 == 'En pareja' & p14 > 10 TurisParejaAlojMas10
65
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 98: Filtrar datos: slo Occidente
asturianos que se gastaron en total o ms de 200 euros o menos de 50 euros
p7 == 'Asturiano' & (gastotal < 50 | gastotal > 200) TurisAstuMasoMenos
Recuerde que cada vez que ltre los datos, el nuevo conjunto de datos activo ser el propio
conjunto ltrado, as que, si quiere volver a trabajar con el conjunto original, tendr que volver a
seleccionarlo.
Borrar la(s) del conjunto de datos activo Este comando permite borrar uno o ms casos del
conjunto de datos y llamar al nuevo conjunto de datos con un nuevo nombre.
En el ejemplo que se muestra en la gura 99, hemos quitado la la numero 6.
Figura 99: Borrar la
Eliminar los casos con valores omitidos Permite eliminar los casos donde haya una variable
con valor ausente.
Guardar el conjunto de datos activo Permite guardar el conjunto activo de datos en formato
.rda, formato binario (cdigo objeto) nativo de R.
Exportar el conjunto de datos activo Permite guardar el conjunto activo de datos en formato de
texto puro.
66
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.9.3. Modicar variables del conjunto de datos activos
Recodicar variables Recodicar variables signica normalmente transformar una variable nu-
mrica o categrica en una categrica. Existen muchas posibilidades, que esperamos aclarar a la
luz de los siguientes ejemplos.
En el conjunto de datos Turisguay, queremos recodicar la variable Zona geogrca (p1), de
forma que los datos recogidos en la parte occidental de Asturias aparezcan marcados con una A,
mientras que todos los otros con una B. Para ello seguiremos las instrucciones que se muestran en
la gura 100. La nueva variable categrica turisp1ab contiene slo A y B, como se ve en la gura
101.
Figura 100: Recodicar p1 con A y B
Figura 101: Variable recodicada turisp1ab
Otros ejemplos podran ser los siguientes:
1. Recodicar la variable Medio de transporte de llegada (p5) en la nueva variable mediopropio,
diferenciando entre quien vino con su propio medio de transporte (propio) y quien vino con
medios pblicos (publico).
2. Recodicar la variable Periodo de recogida datos (p2) en la nueva variable temporada, de
forma que las tres distintas temporadas aparezcan con los nombres: primera, segunda y
tercera.
67
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
3. Crear la variable Estancia a partir de la variable Cuntas noches pernoctar en Asturias?
(p8) donde aparezcan los siguientes niveles:
Estancia corta si el numero de noches es menor que 2.
Estancia media si el numero de noches queda entre 2 y 7.
Estancia larga si el numero de noches es mayor de 7.
4. Imagnese una base de datos donde los encuestados votaron en una escala entre 0 y 10 su
propio agradecimiento con respecto a una pelcula (variable voto). Lo que queremos hacer
es que, para todos los que votaron entre 0 y 3, aparezca la etiqueta bajo, medio para votos
entre 4 y 8, y alto para los restantes.
Posibles soluciones a los ejemplos anteriores:
Vieja variable Directrices de recodicain Nueva variable
Medio de transporte de llegada (p5)
"Coche-moto propio"="propio"
else = "publico"
mediopropio
"Enero-Mayo" = "primera"
Periodo de recogida datos (p2) "Junio-Septiembre" = "segunda" temporada
else = "tercera"
0,1="Estancia corta"
Noches pernoctacin (p8) 2:7="Estancia media" Estancia
else="Estancia larga"
0:3 = "bajo"
voto 4,5,6,7,8 = "medio" etiquetas
else = "alto"
Calcular una nueva variable Se pueden calcular nuevas variables a partir de las que tenemos en
la base de datos. Se pueden usar todas las tpicas operaciones aritmticas y conviene asignar a la
nueva variable un nombre que no aparezca ya en la lista de las variables.
En los ejemplos de la gura 102 en la pgina 69, hemos calculado primero el gasto en servicios
que no fueran comidas (sumando los gastos en Gasto en bebidas en bares y cafeteras (p12), Gasto
en diversin en pubes y discotecas (p13), Gasto en alojamiento (p14), Gasto en actividades (p15),
Gasto en transporte (p16) y Gasto en compras varias (p17)) y hemos llamado a esta nueva variable
gastonocomida. Despus hemos calculado el porcentaje de gastos distintos de la comida sobre
el total y lo hemos llamado NoComSobreTotal.
La salida se muestra en la gura 102, donde las dos columnas representan respectivamente las
dos nuevas variables gastonocomida y NoComSobreTotal.
Convertir variable nmerica en factor Este comando sirve para convertir una variable numrica
en variable categrica. Esto es a menudo ineludible porque R-Commander slo permite ciertos
estadsticos y grcas para variables de un determinado tipo. A la hora de la trasformacin, cabe la
posibilidad de dar nombres a las categoras, o que stas se identiquen mediante el cdigo numrico
con el que aparecen.
Por ejemplo, imagnese que en la base de datos hubiera una variable donde el encuestado tuvo
que expresar su agradecimiento respecto a la visita en la comunidad. La preferencia se expresa con
una escala de valores entre uno y cinco. Usando el comando Convertir variable numrica
en factor, se podra asignar a cada nmero un nombre como por ejemplo:
1. Nada.
2. Poco.
3. Regular.
4. Bastante.
68
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 102: Clculo de dos nuevas variables
5. Siempre.
Segmentar variable numrica Segmentar una variable numrica signica discretizarla, es decir,
obtener una variable categrica a partir de los valores numricos de la variable. Hemos visto varios
ejemplos en el apartado de recodicacin (pg. 67). En este caso, R-Commander proporciona m-
todos para realizar la segmentacin de forma automtica, sin tener que indicar cada categora de la
nueva variable.
Si por ejemplo queremos dividir nuestro conjunto de datos en tres subconjuntos distintos (Gasto
bajo, Gasto medio y Gasto elevado), segn el Gasto total en el viaje por persona (gastotal),
seguiremos las instrucciones de la gura 103. La salida se muestra en la misma gura, donde se
puede apreciar la nueva columna con las etiquetas que hemos asignado a cada rango.
Las posibilidades de este comando son muchas:
1. Es posible elegir el numero de segmentaciones que queremos hacer, usando la barra 1 de la
gura 103.
2. Se puede elegir el nombre de los distintos niveles (2 en la gura 103):
Especicar nombre: permite asignar un nombre a cada nivel.
Nmeros: cada nivel est representado por un nmero entre 1 y el nmero de niveles.
Rangos: cada nivel est representado por el intervalo en que se mueven sus elementos.
3. Existen distintas formas de ejecutar la segmentacin (3 de gura 103):
69
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 103: Segmentar una variable numrica
Segmentos equidistantes: se divide el rango total de las variables entre el nmero de
segmentos deseados.
Segmentos de igual cantidad: funciona como los cuantiles, es decir, el rango total de la
variable est dividido de forma que cada segmento contenga aproximadamente el mismo
nmero de elementos.
Segmentos naturales: utiliza el algoritmo de k-medias para generar los segmentos. Se
puede interpretar como que anteriormente el programa indaga sobre las propiedades de
la distribucin de la variable; por ejemplo, si la variable representa tres poblaciones con
distintas medias, los tres segmentos estaran centrados en las tres medias, idealmente.
70
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Reordenar niveles de un factor Este comando sirve para reordenar las categoras de variables
categricas. Esto puede ser importante, por ejemplo, a la hora de presentar un grco con barras
correspondientes a los das de la semana; es muy posible que, por omisin, R-Commander decida
ordenar los das por orden alfabticos, en vez de por orden cronolgico.
En el ejemplo que se ilustra en la gura 104, hemos cambiado el orden de la variable Zona geo-
grca (p1), de forma que la nueva variable p1bis tenga Oriente como primera y Occidente
como tercera.
Figura 104: Reordenar niveles de una variable
Renombrar - Eliminar variables Existe la posibilidad de cambiar nombre a una variable y tambin
de eliminarla del conjunto de datos.
4.10. Extensiones (plug-in)
En esta seccin se explican ocho extensiones que se pueden activar en R-Commander. Por cada
uno de ellos se dar una breve explicacion de las funciones contenidas y de las posibles utilizaci-
nes.
Para instalar un plug-in en R-Commander, siga las instrucciones contenidas en la proxima seccin,
que, aunque se reeran al caso particular del plug-in Export, se pueden utilizar para cualquier otro
paquete.
4.10.1. RcmdrPlugin.Export
Para los usuarios que suelen escribir con el sistema de texto L
A
T
E
X, existe la posibilidad de exportar
las tablas de salida producidas por el R-Commander directamente en formato L
A
T
E
X. Primero habr
que activar el plug-in para le exportacin de tablas, siguiendo las instrucciones de la gura 105,
hasta que aparezca el nuevo men Export.
Una vez generada una tabla, por ejemplo la tabla de contingencia entre las variables Qu perso-
nas lo acompaan en este viaje? (p4) y Periodo de recogida datos (p2), seguimos las instrucciones
de la gura 106, para exportar a formato L
A
T
E
X la misma tabla.
El R-Commander nos dar como resultado una secuencia de comandos en lenguaje L
A
T
E
X pare-
cida a la que sigue:
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrrrrr}
\hline
& Slo & En pareja & En familia & Amigos/Grupo & Compaeros de trabajo \\
\hline
Enero-Mayo & 164.00 & 442.00 & 158.00 & 221.00 & 70.00 \\
Junio-Septiembre & 65.00 & 544.00 & 374.00 & 270.00 & 28.00 \\
71
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 105: Cargar el Plug-in Export
Figura 106: Exportar una tabla
Octubre-Diciembre & 36.00 & 107.00 & 20.00 & 57.00 & 9.00 \\
\hline
\end{tabular}
\caption{Tab Contingencia}
\label{tab1}
\end{center}
\end{table}
cuyo resultado ser el siguiente:
72
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Slo En pareja En familia Amigos/Grupo Compaeros de trabajo
Enero-Mayo 164.00 442.00 158.00 221.00 70.00
Junio-Septiembre 65.00 544.00 374.00 270.00 28.00
Octubre-Diciembre 36.00 107.00 20.00 57.00 9.00
Cuadro 1: Tab Contingencia
4.10.2. RcmdrPlugin.HH: Heiberger and Holland
Es un paquete principalmente dedicado a la construccin de grcas complejas y para uso profe-
sional.
En la pagina http://cran.r-project.org/web/packages/HH/HH.pdf (en ingls) est
disponible una gua completa de los comandos, que describe con todo detalle cmo construir e inter-
pretar las grcas, y cmo acompaar los resultados tradicionales con las grcas ms apropriadas.
Muchos mtodos y muchas grcas son totalmente inovadores, siendo presentados y explicados por
primera vez. La gua contiene tambien ejemplos y ejercicios guados.
4.10.3. RcmdrPlugin.FactoMineR
FactoMineR es un paquete de R dedicado al anlisis multivariante de datos. Las principales ca-
ractersticas de este paquete son:
trabajar conjuntamente con distintos tipos de variables (nmericas y categricas);
distintas estructuras de datos;
numerosas grcas con distintas opciones;
existe una interfaz para la modicacin de las grcas, integrada con R-Commander.
Informacion ms detallada se puede encontrar en la pgina http://www.jstatsoft.org/
v25/i01/paper (en ingls).
4.10.4. RcmdrPlugin.IPSUR: Introduction to Probability and Statistics Using R
Es el paquete que acompaa al libro Introduction to Probability and Statistics Using R, G. Andy
Chang and G. Jay Kerns. Contiene funciones dedicadas a resolver los ejemplos contenidos en el
libro, as como mens y ncionalidades para el R-Commander.
Informacin ms detallada se puede encontrar en la pgina http://ipsur.r-forge.r-project.
org/description.php (en ingls).
4.10.5. RcmdrPlugin.SurvivalT
Este paquete proporciona una extensin para R-Commander basada en el paquete survival
de R, para abordar el anlisis de supervivencia.
Informacin ms detallada se puede encontrar en las pginas http://www.stat.wisc.edu/
~deepayan/SIBS2005/slides/survival.pdf (en ingls) y http://cran.r-project.
org/web/packages/RcmdrPlugin.SurvivalT/RcmdrPlugin.SurvivalT.pdf (en ingls).
4.10.6. RcmdrPlugin.epack
Este paquete proporciona un plug-in para R-Commander basado en las funciones para series
temporales.
Informacin ms detallada se puede encontrar en la pgina http://cran.r-project.org/
web/packages/RcmdrPlugin.epack/RcmdrPlugin.epack.pdf (en ingls).
73
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
4.10.7. RcmdrPlugin.orloca
Versin espaola del paquete orloca que trata de los modelos de Localizacion en Investigacion
Operativa (Operations Research LOCational Analysis). En particular, el problema de encontrar el
punto que minimiza la suma ponderada de las distancias a un conjunto de puntos dados.
Informacin ms detallada se puede encontrar en la pgina http://cran.r-project.org/
web/packages/orloca.es/orloca.es.pdf.
4.10.8. RcmdrPlugin.DoE
Este paquete proporciona una plataforma independiente para disear experimentos. Esta pensa-
do como plug-in para el R-Commander y aade a la barra de los mens el men Design.
Informacin ms detallada se puede encontrar en la pgina http://cran.rakanu.com/
web/packages/RcmdrPlugin.DoE/RcmdrPlugin.DoE.pdf (en ingls).
4.10.9. RcmdrPlugin.TeachingDemos
Este paquete proporciona una extensin para el R-Commander, basado en el paquete TeachingDemos,
que contiene funciones demonstrativas que pueden ser enseadas a classe para facilitar la com-
prension de conceptos estadsticos, o tamben como ayuda para la comprension personal de la
programacin.
Informacin ms detallada se puede encontrar en las pginas http://cran.r-project.
org/web/packages/RcmdrPlugin.TeachingDemos/RcmdrPlugin.TeachingDemos.pdf
(en ingls) y http://cran.r-project.org/web/packages/TeachingDemos/TeachingDemos.
pdf (en ingls).
4.10.10. RcmdrPlugin.qcc
Este paquete proporciona una extensin para R-Commander, basada en el paquete qcc,que
contiene funciones para control de calidad, grcas Cusum y EWMA, grcas de Pareto y causa-
efecto y anlisis de capacidad de procesos.
Informacin ms detallada se puede encontrar en la pgina http://cran.r-project.org/
web/packages/qcc/qcc.pdf(en ingls).
4.10.11. RcmdrPlugin.qual
Este paquete proporciona una extensin para R-Commander, basado en el Quality control class
Stat 4300.
Informacin ms detallada se puede encontrar en la pgina http://cran.r-project.org/
web/packages/RcmdrPlugin.qual/RcmdrPlugin.qual.pdf (en ingls).
4.10.12. BiodiversityR
Este paquete proporciona una interfaz para R-Commander y algunas funciones para el anlisis
estadstico de la biodiversidad y las comunidades ecologicas.
Informacin ms detallada se puede encontrar en la pgina http://cran.r-project.org/
web/packages/BiodiversityR/BiodiversityR.pdf (en ingls).
74
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
5. Nivel avanzado
5.1. Introduccin
El proyecto R es mucho ms amplio que R-Commander. En este captulo veremos cmo acceder
a las prestaciones avanzadas de R.
5.2. Recursos
El proyecto R es vastsimo y, para un problema concreto, puede resultar difcil incluso determinar
si contiene implementado algn algoritmo que nos pueda ser til. En esta seccin vamos a repasar
las diferentes fuentes de ayuda que ofrece el proyecto.
5.2.1. Manuales y tutoriales en la red
Existen varios manuales ociales sobre Ren la pgina del proyecto (http://cran.at.r-project.
org/manuals.html) pero la mayora suponen un conocimiento avanzado de R. Como listado de
textos introductorios, podemos citar los siguientes:
R para principiantes
http://cran.r-project.org/doc/contrib/rdebuts_es.pdf
Introduccin a R
http://cran.r-project.org/doc/contrib/R-intro-1.1.0-espanol.1.pdf
Grcos estadsticos con R
http://cran.r-project.org/doc/contrib/grafi3.pdf
Cartas sobre Estadstica de la Revista Argentina de Bioingeniera
http://cran.r-project.org/doc/contrib/Risk-Cartas-sobre-Estadistica.
pdf
Introduccin al uso y programacin del sistema estadstico R
http://cran.r-project.org/doc/contrib/curso-R.Diaz-Uriarte.pdf
Generacion automatica de reportes con R y LaTeX
http://cran.r-project.org/doc/contrib/Rivera-Tutorial_Sweave.pdf
Estadstica Bsica con R y R-Commander
http://knuth.uca.es/ebrcmdr/
Bioestatstica usando R
http://cran.r-project.org/doc/contrib/Beasley-BioestatisticaUsandoR.
pdf
Introduo Biometria utilizando R
http://cran.r-project.org/doc/contrib/biometria.pdf
Introduo Programao em R
http://cran.r-project.org/doc/contrib/Torgo-ProgrammingIntro.pdf
Tppicos de Estatstica utilizando R
http://cran.r-project.org/doc/contrib/Itano-descriptive-stats.pdf
75
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Guia de instalao do R
http://cran.r-project.org/doc/contrib/Itano-installation.pdf
Il linguaggio R: concetti introduttivi ed esempi
http://cran.r-project.org/doc/contrib/nozioniR.pdf
Analisi delle serie storiche con R
http://cran.r-project.org/doc/contrib/Ricci-ts-italian.pdf
Rappresentazione analitica delle distribuzioni statistiche con R
http://cran.r-project.org/doc/contrib/Ricci-distributions-it.pdf
Matematica e graca elementari con R
http://cran.r-project.org/doc/contrib/Eschgfaeller-mabbs-algoritmi.
pdf
Formulario di Statistica con R
http://cran.r-project.org/doc/contrib/Frascati-FormularioStatisticaR.
pdf
Programmazione in R
http://cran.r-project.org/doc/contrib/Fondamenti-0405.pdf
Principali tecniche di regressione con R
http://cran.r-project.org/doc/contrib/Ricci-regression-it.pdf
Creare packages per R sotto Windows XP
http://cran.r-project.org/doc/contrib/Frascati-Rpackages.pdf
Esercitazioni di statistica biomedica
http://cran.r-project.org/doc/contrib/DellOmodarme-esercitazioni-R.
pdf
Analisi econometrica delle serie storiche con R
http://cran.r-project.org/doc/contrib/Guirreri-EconometRia.pdf
Introduction au systme R
http://cran.r-project.org/doc/contrib/Brostaux-Introduction-au-R.zip
Introduction la programmation en S
http://cran.r-project.org/doc/contrib/Goulet_introduction_programmation_
S.pdf
Brise Glace-R (ouvrir la voie aux ples statistiques)
http://cran.r-project.org/doc/contrib/IceBreak_fr.pdf
R pour les sociologues (et assimils)
http://cran.r-project.org/doc/contrib/Barnier-intro_R.pdf
Lire ; Compter ; Tester... avec R
http://cran.r-project.org/doc/contrib/Genolini-LireCompterTesterR.
pdf
76
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
R, Bonnes pratiques
http://cran.r-project.org/doc/contrib/Genolini-RBonnesPratiques.pdf
Quick-R
http://www.statmethods.net/index.html
SimpleR - Using R for Introductory Statistics
http://cran.r-project.org/doc/contrib/Verzani-SimpleR.pdf
R Tutorial
http://www.cyclismo.org/tutorial/R/
R-introduction for Biostatistics
http://cran.r-project.org/doc/contrib/Seefeld_StatsRBio.pdf
Introductory Statistics with R
http://www.biostat.ku.dk/~pd/ISwR.html
Applied Statistics for Bioinformatics using R
http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/documentation/Krijnen-\
IntroBioInfStatistics.pdf
R graphics
http://www.stat.auckland.ac.nz/~paul/RGraphics/rgraphics.html.
5.2.2. Bsqueda de ayuda en la red
A la hora de buscar si R tiene implementado algn algoritmo que nos interese, la siguiente direc-
cin es un punto de partida:
R-project search site http://cran.r-project.org/search.html
Desde ah, se puede buscar en los manuales y paquetes de R:
R site search http://finzi.psych.upenn.edu/search.html
R seek http://www.rseek.org/, gura 107
Si no aparece nada relacionado, podemos rebuscar en las listas de correo del proyecto R:
mediante Google http://tolstoy.newcastle.edu.au/~rking/R/
mediante Gmane http://dir.gmane.org/index.php?prefix=gmane.comp.lang.
r.
77
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 107: R seek
5.2.3. Ayuda desde la consola de R
Como en muchos otros programas, es posible encontrar informacin sobre las funciones y los
paquetes directamente desde la consola de R. Los comandos son:
?funcin o help(funcin) abrir la documentacin disponible sobre funcin. Ejemplo
?mean.
apropos(trmino) encuentra todas las funciones cuyas descripciones contengan un trmino
dado. Ejemplo apropos("pdf")
example(funcin) ejecuta los ejemplos de la documentacin de funcin. Ejemplo heatmap.
help.search(.
a
sunto") busca ayuda sobre asunto entre la documentacin. Ejemplo
help.search("pdf").
library() muestra todos los paquetes instalados en el sistema.
library(help=paquete) o help (package=paquete) lista todas las funciones y los
objetos del paquete. Ejemplo library(help=MASS)
help.start() abre una pgina de ayuda, como en la gura 108.
sessionInfo() visualiza informacion sobre la versin de R en uso y todos los paquetes
actualmente cargados.
demo() ofrece informacin sobre demostraciones de las capacidades de R; por ejemplo,
demo(graphics).
78
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 108: help.start()
Veamos a continuacin algunos ejemplos de bsqueda de ayuda.
Si desde la consola de R escribimos el nombre de una funcin, sin acompaarlo de parntesis,
aparecer el cdigo fuente de su denicin. Por ejemplo, si escribimos sd obtenemos la denicin
de la desviacin tpica:
> sd
function (x, na.rm = FALSE)
{
if (is.matrix(x))
apply(x, 2, sd, na.rm = na.rm)
else if (is.vector(x))
sqrt(var(x, na.rm = na.rm))
else if (is.data.frame(x))
sapply(x, sd, na.rm = na.rm)
else sqrt(var(as.vector(x), na.rm = na.rm))
}
<environment: namespace:stats>
En caso de que la funcin que queremos conocer tenga ms de una denicin (al ser R un lengua-
je orientado a objetos, la denicin puede ser un mtodo de cierta clase de objetos), R nos anunciar
que la funcin consiste en una llamada a UseMethod; por ejemplo, en el caso del comando mean:
> mean
function (x, ...)
UseMethod("mean")
<environment: namespace:base>
En este caso, para conocer las deniciones asociadas a mean, se utiliza la funcin methods, as:
> methods(mean)
[1] mean.data.frame mean.Date mean.default mean.difftime
[5] mean.POSIXct mean.POSIXlt
Sospechamos que, para un simple vector, la funcin correspondiente ser mean.default, as
que solicitamos su cdigo fuente:
> mean.default
function (x, trim = 0, na.rm = FALSE, ...)
{
if (!is.numeric(x) && !is.complex(x) && !is.logical(x)) {
79
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
warning("argument is not numeric or logical: returning NA")
return(NA_real_)
}
if (na.rm)
x <- x[!is.na(x)]
if (!is.numeric(trim) || length(trim) != 1L)
stop("'trim' must be numeric of length one")
n <- length(x)
if (trim > 0 && n) {
if (is.complex(x))
stop("trimmed means are not defined for complex data")
if (trim >= 0.5)
return(stats::median(x, na.rm = FALSE))
lo <- floor(n
*
trim) + 1
hi <- n + 1 - lo
x <- sort.int(x, partial = unique(c(lo, hi)))[lo:hi]
}
.Internal(mean(x))
}
<environment: namespace:base>
Aparte de la ayuda nativa de las funciones de R, algunas de stas incluyen tutoriales y otros
documentos que no se encuadran bien en la rgida estructura de la ayuda nativa. Para ver la lista de
tales documentos disponibles:
> vignette()
Aparecer una ventana parecida a la de gura 109.
Figura 109: vignette()
En la ventana aparecen los nombres de los paquetes y, por cada uno, los tutoriales disponi-
bles. Para activar uno, primero cargue el paquete correspondiente y despus escriba vignette
(nombretutorial).
80
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
5.3. Paquetes
Todas las funciones de R no denidas por el propio usuario estn contenidas en paquetes (pac-
kages). Solamente cuando un paquete est cargado (loaded) estarn disponibles las deniciones
que contiene.
Los paquetes bsicos se incluyen en la distribucin ocial de R, e implementan.
las funciones bsicas,
las bases de datos tpicas, y
las capacidades grcas bsicas.
Actualmente (junio 2012), existen 3852 paquetes, fruto del trabajo de muchos y diversos autores
que han colaborado y siguen colaborando con el proyecto R. Entre tales paquetes se puede encon-
trar: todo tipo de funciones que implementan mtodos estadsticos especcos, incluidos los ms
avanzados y modernos; nuevas bases de datos; cdigo fuente complementario de libros y artculos
cientcos; etctera.
Para que el usuario pueda orientarse entre tal maremagno de paquetes, se ha creado la pgina
http://www.cran.r-project.org/web/views/, mostrada en la gura 5.3.
Figura 110: Principales categoras de paquetes (http://www.cran.r-project.org/web/
views/)
Los paquetes estn catalogados en las siguientes categorias:
Bayesian: inferencia bayesiana.
81
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
ChemPhys: quimiometra y fsica computacional.
ClinicalTrials: diseo, monitorizacin y anlisis de ensayos clnicos.
Cluster: anlisis de conglomerados y modelos de mixturas nitas.
Distributions: distribuciones.
Econometrics: econometra computacional.
Environmetrics: anlisis de datos ecolgicos y ambientales.
ExperimentalDesign: diseo de experimentos y anlisis de datos experimentales.
Finance: anlisis nanciero emprico.
Genetics: gentica estadstica.
Graphics: dispositivos grcos y grcos dinmicos y visualizacin.
gR: modelos de gRafos.
HighPerformanceComputing: computacin intensiva y paralela.
MachineLearning: aprendizaje mquina y estadstico.
MedicalImaging: anlisis de imgenes mdicas.
Multivariate: estadstica multivariante.
NaturalLanguageProcessing: procesamiento del lenguaje natural.
Optimization: optimizacin y programacin matemtica.
Pharmacokinetics: anlisis de datos farmacoquinticos.
Psychometrics: modelos y mtodos sicomtricos.
Robust: mtodos estadsticos robustos.
SocialSciences: estadstica para ciencias sociales.
Spatial: anlisis de datos espaciales.
Survival: anlisis de supervivencia.
TimeSeries: anlisis de series cronolgicas.
La categora Social Sciences, por ejemplo, representada en la gura 111, contiene los paquetes
dedicados a las ciencias sociales.
5.3.1. Paquetes de inters
Dedicamos este epgrafe a ciertos paquetes que hemos encontrado tiles y dignos de mencin.
5.3.2. Hmisc
Las salidas bsicas de este paquete recuerdan bastante a las obtenidas mediante el SPSS. Dis-
pone de abundante material para iniciarse en anlisis bsicos de R:
http://biostat.mc.vanderbilt.edu/wiki/Main/Hmisc
y recomendamos su manual de anlisis, An Introduction to S and the Hmisc and Design Libraries,
por CF Alzola y FE Harrell (PDF, 310 pginas):
http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RS/sintro.pdf.
82
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 111: Las libreras en la categoria Social Science
5.3.3. Epidemiological calculator (epicalc)
Es otro paquete cuyas salidas recuerdan bastante al SPSS. Dispone de un manual muy completo
que describe las tcnicas ms habituales en el mbito de la salud, Analysis of epidemilogical data
using R and Epicalc (310 pginas):
http://medipe.psu.ac.th/Epicalc/Analysis_of_Epidemiological_Data_using_
R_and_Epicalc.pdf
Recomendamos su funcin tab1 para construir tablas de frecuencias:
> library(epicalc)
> example(tab1)
Frequency Percent Cum. percent
Rich 279 26.2 26.2
High-middle 383 36.0 62.2
Poor-middle 154 14.5 76.7
Poor 248 23.3 100.0
Total 1064 100.0 100.0
Su manual est disponible en la pgina http://cran.r-project.org/web/packages/
epicalc/epicalc.pdf.
5.3.4. Rgraphics
Vase el curso Statistics 120 - Information Visualisation, por Ross Ihaka (http://www.stat.
auckland.ac.nz/~ihaka/120/), especialmente las Lectures. Aborda de una forma muy di-
dctica cmo disear grcos en R.
Se muestra a continuacin cdigo fuente como ejemplo de dibujo de mapas, similar al obtenido
con el programa PC-AXIS del Instituto Nacional de Estadstica(Figura 112).:
83
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
install.packages ("maptools")
require (maptools)
# En el directorio de trabajo se han de encontrar
# los siguientes ficheros
# spain_provinces_ind_4.shp
# spain_provinces_ind_4.dbf
# spain_provinces_ind_4.shx
# Puede descargarlos de http://uce.uniovi.es/R
#
# Obtenidos de http://www.ine.es/prodyser/pcaxis/pcaxis.htm#1
# Gracias, INE!
# Creacin de los datos
provN <- readShapePoly ("spain_provinces_ind_4.shp")
set.seed (123) # por reproducibilidad
x <- runif (52, 5.0, 7.5)
datosprovincias <- data.frame (x=x, codigo=1:52)
numerodecortes <- 5
datosshape <- provN@data
datosshape$codigo <- as.numeric (as.character (datosshape$PROV))
datosshape <- merge (datosshape, datosprovincias,
by="codigo", all.x=TRUE)
datosshape$nivel <- cut (datosshape$x, numerodecortes)
listacolores <- heat.colors (numerodecortes)
datosshape$colores <- listacolores [datosshape$nivel]
datosshape <- datosshape [order (datosshape$OBJECTID,]
plot (provN, col=datosshape$colores)
title (main="Mapas en R", sub="Sustituye al PC-AXIS")
coordenadas <- data.frame (eje=coordinates(provN),
area=provN@data$AREA,
codigo=datosshape$codigo,
x=datosshape$x)
coo <- coordenadas [order (coordenadas$area, decreasing=TRUE),]
coo <- coo [!duplicated(coo$codigo) & !is.na(coo$x),]
text (coo$eje.1, coo$eje.2,
labels = as.character (round (coo$x, 2)),
cex=0.5)
legend ("bottomright", levels(datosshape$nivel), fill=listacolores)
5.3.5. Sweave
Por omisin, las tablas de salida en R aparecen como texto puro. Con un poco de paciencia,
es fcil conseguir que automticamente se generen empotradas en nuestros documentos de L
A
T
E
X.
Qu conseguiramos con ello?
Si usted ya conoce L
A
T
E
X y R, por qu no usarlos a la vez?
Ahorra tiempo: prescinda de copiar y pegar nmeros, tablas y grcos a mano en sus docu-
mentos.
84
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 112: Dibujando mapas territoriales en R.
85
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
\documentclass {article}
\usepackage {Sweave}
\begin {document}
Sea una muestra de diez individuos con alturas (en cm):
<<>>=
round (rnorm (10, 170, 9))
@
Y ahora, un histograma:
<<fig=true>>=
hist (rchisq (1000, 2))
@
\end {document}
Figura 113: EjemploTrivial.rnw
Olvdese de rehacer el documento entero cada vez que un cliente le diga: Oiga, tengo datos
nuevos! Podra volver a hacer los clculos?
Investigacin Reproducible!
(https://www.uzh.ch/cmsssl/biostat/teaching/beratungsseminar/20090205_
SRH_SweaveTemplates.pdf)
En funcin del procesador de textos que utilice, tiene las siguientes opciones:
L
A
T
E
X: utilice Sweave. Ofrece dominio absoluto sobre el formato. Es lo mejor!
Ha de escribir un chero .rnw, muy similar a un chero .tex. Luego ejecuta la funcin
Sweave desde R, y obtiene el chero .tex listo para ser compilado.
OpenOfce: elija odfWeave.
Y en Microsoft Word?
Use odfWeave y guarde el documento desde OpenOfce con formato Word.
Use Sweave y convierta el texto a formato .rtf mediante el programa latex2rtf.
Power Point: consulte el paquete R2PPT.
Veamos un par de ejemplos de uso de Sweave.
En primer lugar, cree el chero EjemploTrivial.rnw con el contenido de la gura 113. Para
convertirlo en un chero de fuente L
A
T
E
X debe optar por una de las dos opciones siguientes:
Ejecutar en una terminal la orden:
R CMD Sweave EjemploTrivial.rnw
Ejecutar dentro de R la orden:
Sweave ("EjemploTrivial.rnw")
En ambos casos asegrese de que el chero est en un directorio accesible a R.
Una vez obtenido el chero EjemploTrivial.tex, complelo y compruebe el resultado.
Como un ejemplo ms elaborado, cree el chero EjemploLaTeX.rnw de forma que contenga
el listado que se muestra en las pginas siguientes.
86
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
\documentclass [12pt,a4paper] {article}
\usepackage [utf8] {inputenc} % acentuacin en Ubuntu
% \usepackage [latin1] {inputenc} % acentuacin en Windows
\usepackage [T1] {fontenc} % silabacin de palabras acentuadas
\usepackage [spanish] {babel}
\usepackage {graphicx}
\usepackage {booktabs}
\usepackage {Sweave}
\begin {document}
\subsection
*
{\LaTeX{} y R}
<<echo=false, eval=true, results=hide>>=
nombreasignatura <- "Griego"
set.seed (123)
x <- rnorm (100, mean = 5, sd = 3)
x <- x [x>=0 & x<=10]
TablaFrecuenciasEnLatex <- function (x, nombreasignatura)
{
require (epicalc)
require (xtable)
xc <- cut (x, breaks=0:10, include.lowest = TRUE, right = FALSE)
cat ("\\begin{tabular}{lrrr}\n")
levels (xc) <- gsub ("\\[", "\\\\hbox{[}", levels(xc))
cat ("\\\\ \\toprule ")
cat (" & Frec. & \\% & Acum. \\% \\\\ \n")
cat (" \\midrule ")
xtabla <- xtable (tab1 (xc, graph=FALSE)$output.table,
digits=c(0,0,1,1))
print (xtabla, include.colnames=FALSE,
only.contents=TRUE,
sanitize.text.function=function(x){x},
hline.after=c(nrow(xtabla)-1))
cat (" \\bottomrule ")
cat ("\\end{tabular}\n")
cat ("\\hfill")
cat ("\\begin{tabular}{c}\n\n" )
cat ("\\includegraphics[width=0.40\\textwidth]{Gr",
nombreasignatura, "}\n", sep="")
cat("\\end{tabular}\n")
}
@
\paragraph {Resultados de \Sexpr{nombreasignatura}}
<<echo=false, eval=true, results=tex>>=
cat ("Se han presentado a \\textit{", nombreasignatura, "} ",
length (x),
87
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 114: Generando informes automticos.
" personas, de las que han aprobado el ",
round (100
*
sum (x >= 5) / length (x), 2),
"\\%, con una nota media de ", round (mean (x), 2),
" puntos (d.t. ", if (length (x) > 1) round (sd (x), 2) else 0,
" y mediana ", round (median (x), 2), ").\\newline\n\n\n",
sep="")
TablaFrecuenciasEnLatex (x, nombreasignatura)
@
<<echo=false, eval=true, results=hide>>=
pdf (paste ("Gr", nombreasignatura, ".pdf", sep=""))
hist (x, main=nombreasignatura, xlab="Calificacin")
dev.off ()
@
\end{document}
<<echo=false, eval=true, results=hide>>=
require (tools)
texi2dvi ("EjemploLaTeX.tex", pdf = TRUE)
@
Gracias a los ltimos renglones, no es necesario ordenar la compilacin del chero L
A
T
E
X; el propio
R se encarga de ello al ejecutar la orden Sweave (.
Ej
emploLatex.rnw"). Se crear el chero
EjemploLaTeX.pdf (gura 114).
88
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
5.3.6. survey
En el mbito de las Ciencias Sociales se analizan datos provenientes de encuestas de forma ha-
bitual. Estas operaciones estadsticas se basan en diferentes tipos de muestreo (estraticado, con-
glomerados, por ajacin proporcional, etc.) y requieren para su tratamiento estadstico ponderar,
ajustar, elevar... los datos muestrales. Para tratar adecuamente tales bases de datos utilizaremos el
paquete survey.
De una forma especial, y dada su amplia utilizacin, recomendamos los dos enlaces siguientes:
La pgina Survey analysis in R (http://faculty.washington.edu/tlumley/survey/),
donde se detallan las tcnicas ms habituales de anlisis, adems de ofrecer enlaces muy in-
teresantes. Este paquete permite:
Medias, totales, proporciones, cuantiles, tablas de contingencia, modelos de regresin,
modelos loglineales, curvas de supervivencia para la muestra completa y por dominios.
Varianzas por linealizacin de Taylor o por pesos replicados (BRR, jackknife, bootstrap o
proporcionado por el usuario).
Muestreo polietpico con o sin reposicin.
Muestreo PPS sin reposicin: estimadores de Horvitz-Thompson y Yates-Grundy y varias
aproximaciones.
Posestraticacin, calibracin generalizada, estimacin GREG.
Diseos en dos fases. Pesos estimados para estimadores IPW aumentados.
Grcos.
Soporte para usar datos poliimputados.
Uso de bases de datos relacionales para conjuntos de datos grandes.
Vase Practical Exemplars and Survey Analysis (http://www2.napier.ac.uk/depts/
fhls/peas/about.asp) de Napier University y National Centre for Social Research, donde
se explica de forma muy didctica
cmo analizar encuestas complejas mediante distintos programas (R, Stata, SPSS, SAS);
por qu es importante, a la luz de la teora tras los mtodos;
cules son las consecuencias prcticas en ejemplos reales;
cmo tratar la no-respuesta con ponderacin o imputacin.
Sus tutoriales son excelentes para iniciarse en el anlisis de encuestas, adems de presentar
casos reales (encuestas a hogares).
5.3.7. professR
Su intencin es ensear al usuario cmo preparar y manipular rutinas que disean exmenes de
respuesta objetiva mltiple para clases grandes donde se requieran varias versiones para evitar que
los alumnos se vean tentados a copiar. El programa lee bancos de preguntas de cheros de texto
puro y crea cheros L
A
T
E
X adecuados para su distribucin en la clase. Tambin se crean claves de
respuestas. El quid de professR reside en su capacidad de aleatorizar las preguntas y barajar
sus respuestas, para generar mltiples versiones de un examen. Una vez que se haya creado un
gran banco de preguntas, puede crearse gran cantidad de exmenes distintos, diferentes cada ao
o revueltos segn varias posibilidades.
> library(ProfessR)
> vignette("ExamMaker")
89
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
5.4. Programacin
R es un lenguaje de programacin en toda regla, con una sintaxis diseada para la comodidad
del tratamiento y anlisis estadstico. En el captulo siguiente se har un repaso del lenguaje R. En
este captulo nos centraremos en cmo manipular dicho lenguaje: dnde escribirlo, cmo ejecutarlo,
etc.
En la instalacin bsica de R se incluye una consola y un editor de cdigo. La consola es un
bucle leer-evaluar-escribir: se escribe una orden, se pulsa Intro y se obtiene un resultado; y volver a
empezar. Si pretendemos escribir ms de un rengln de cdigo, conviene abrir el editor de cdigo
(men Archivo Nuevo script ); es una especie de Bloc de notas, con la prestacin de que se puede
enviar a la consola cdigo para ser evaluado, bien todo (Editar Ejecultar todo) bien slo el rengln
donde est el cursor o el texto seleccionado (Editar Correr linea o seleccionar ).
Por su parte, R-Commander reeja en el rea de instrucciones el cdigo asociado a las acciones
realizadas desde los mens. Dicho cdigo puede modicarse, y volver a ser ejecutado seleccionando
con el ratn y pulsando el botn Ejecutar. Sin embargo, es posible que aparezcan problemas, ya que
el analizador sintctico (parser ) de este cdigo es ms limitado que el de la consola o el editor nativo
de R. Recomendamos usar el rea de instrucciones como editor de cdigo slo si los cambios que
se pretenden realizar son pocos y pequeos.
Ninguna de las opciones anteriores permite un trabajo cmodo con cdigo de R. En la seccin
siguiente presentamos Tinn-R, un editor sencillo pero que incluye prestaciones bsicas para la re-
daccin de cdigo. Para los usuarios que pretendan pasar muchas horas programando en lenguaje
R, aconsejamos echar un vistazo a la extensin ESS (Emacs Speaks Statistics) del editor Emacs.
5.5. Tinn-R
Se trata de un editor que ofrece resaltado sintctico, numeracin de renglones, ayuda contextual
y envo de cdigo al entorno R.
Las secuencias de acciones para ejecutar un comando y denir una funcin se ilustran en las
guras 115 y 116. Para ms detalles, consltese el apartado 2.5.2 en la pgina 21.
Figura 115: Tinn-R: cmo ejecutar un comando
90
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 116: Tinn-R: denir y ejecutar funciones
91
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
6. Lenguaje R
R es un lenguaje de programacin interpretado. Se trata de un dialecto de S, al igual que Splus,
pero que cuenta con una implementacin libre.
1
6.1. Tipos de objetos
En esta seccin se realiza una descripcin somera de los tipos de objetos
2
disponibles en el
lenguaje de programacin R, que puede ser til para interpretar la informacin que presentan las
salidas de Rcommander.
6.1.1. Tipos bsicos
Los tipos de valores bsicos en R son: lgicos (booleanos), numricos y cadenas de caracteres.
3
Lgicos Las constantes lgicas son TRUE (verdadero) y FALSE (falso). Tngase en cuenta que,
en los ejemplos, el smbolo > al principio de una orden es el inductor de la consola de R.
> 1 == 1
[1] TRUE
> 1 == 2
[1] FALSE
> T
[1] TRUE
> F
[1] FALSE
Tngase en cuenta que T y F son objetos (variables del lenguaje) que valen inicialmente TRUE y
FALSE respectivamente, aunque pueden ser redenidos.
Cuando se utilizan TRUE y FALSE en operaciones aritmticas, toman respectivamente los valores
1 y 0:
> 0 + TRUE
[1] 1
1
http://www.gnu.org/philosophy/free-sw.es.html.
2
Utilizamos aqu la palabra objeto en lugar de dato o variable para evitar confusiones con los datos muestrales y las variables
estadsticas. Somos conscientes de que tal nomenclatura puede producir confusin con el sistema de orientacin a objetos
incluido en R, pero no se har alusin al mismo a lo largo de este texto.
3
Detallando ms, hay tres tipos numricos (enteros, reales [llamados tambin dobles o de coma deslizante] y complejos) y
un tipo adicional crudo para almacenar octetos.
92
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Nmeros Las constantes numricas adoptan la notacin habitual en informtica: punto decimal,
notacin exponencial o cientca...
> pi
[1] 3.141593
> 2e4
[1] 20000
Los operadores aritmticos son los habituales (+, -,
*
, /, ^ o
**
para potencias). Los nombres
de las funciones ms usuales son los tpicos (vanse las tablas a partir de la pgina 100).
El resultado de una operacin matemtica puede ser Inf (innito) o NaN (not a number : no un
nmero):
> 3/0
[1] Inf
> log(0)
[1] -Inf
> log(-1)
[1] NaN
Queda mencionar la constante NA (not available: no disponible) que indica un valor ausente.
Aparece, por ejemplo, al leer campos numricos vacos durante la importacin de un chero. Al
igual que NaN, tiene comportamiento viral (contagia):
> 3 + NA
[1] NA
Caracteres Las cadenas pueden delimitarse por comillas ("nombre") o por apstrofos ('nombre'),
lo cual puede aprovecharse para incluir cmodamente comillas en la cadena sin necesidad de esca-
parlas mediante una retrobarra; as, 'Lo llamaban "Trinidad"' equivaldra a "Lo llamaban
\"Trinidad\"".
6.1.2. Asignacin
La asignacin de valores a objetos se realiza mediante los operadores <- o = (no confundir
con el comparador de igualdad ==). El nombre del objeto puede contener . y _:
> a <- 8.5
> mi_valor = FALSE
> tu.nombre = "Dayana"
6.1.3. Tipos compuestos
Hasta ahora los valores considerados son simples; podran llamarse tomos o escalares. En R
hay tambin estructuras compuestas, entre las que veremos los vectores, los factores, las matrices,
las listas y los dataframes.
93
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Vectores Podemos crear un vector mediante la funcin c, que concatena:
> b <- c(1, 2, 3, 10)
Los escalares en R son siempre vectores de longitud 1, as que la asignacin de a en la seccin
anterior es equivalente a:
> a <- c(8.5)
Toda la aritmtica en R (as como muchas de sus funciones) es vectorial. Por ejemplo, se pueden
sumar vectores (aunque no sean de la misma longitud):
> a + b
[1] 9.5 10.5 11.5 18.5
El [1] que aparece al comienzo del rengln es una ayuda para localizar posiciones en vectores
largos:
> 10:50
[1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
[24] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
As, el 32 ocupa la posicin vigesimotercera.
En el ejemplo anterior se ha utilizado el operador : para crear una secuencia. La funcin seq
generaliza la creacin de secuencias:
> seq(0, 3, 0.5)
[1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Es til tambin la funcin rep para crear vectores con un elemento repetido:
> rep("A", 5)
[1] "A" "A" "A" "A" "A"
> rep(c("a", "b"), 3)
[1] "a" "b" "a" "b" "a" "b"
Los vectores se pueden concatenar:
> bab <- c(b, a, b)
> bab
[1] 1.0 2.0 3.0 10.0 8.5 1.0 2.0 3.0 10.0
pero tenga en cuenta que en un vector todos los elementos han de ser del mismo tipo:
> c(bab, "cadena")
[1] "1" "2" "3" "10" "8.5" "1" "2"
[8] "3" "10" "cadena"
Se puede acceder a los elementos de un vector indicando a su vez un vector de subndices
(enteros positivos):
94
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
> bab[4]
[1] 10
> bab[4:6]
[1] 10.0 8.5 1.0
> bab[c(4, 6)]
[1] 10 1
Si los subndices son negativos, indican exclusin:
> bab[-4]
[1] 1.0 2.0 3.0 8.5 1.0 2.0 3.0 10.0
> bab[-(4:6)]
[1] 1 2 3 2 3 10
> bab[-c(4, 6)]
[1] 1.0 2.0 3.0 8.5 2.0 3.0 10.0
Se puede ltrar usando subndices lgicos:
> bab > 5
[1] FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE TRUE
> bab[bab > 5]
[1] 10.0 8.5 10.0
Factores Las variables estadsticas cuantitativas se representan en R mediante vectores numri-
cos; por ejemplo, al aplicar la orden summary (resumen estadstico) al vector denido en el epgrafe
anterior se obtiene:
> summary(bab)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.0 2.0 3.0 4.5 8.5 10.0
Por su parte, las variables estadsticas cualitativas se representan en R mediante factores. Un
factor es un vector al que se asocia un vector de niveles o modalidades (que son cadenas de texto).
La recopilacin de los niveles puede ocurrir automticamente (por ejemplo, al crear un dataframe) o
puede forzarse mediante la orden factor. Por ejemplo:
> mi.vector <- c("varn", "mujer", "mujer", "varn", "varn")
> summary(mi.vector)
Length Class Mode
5 character character
> mi.factor <- factor(mi.vector)
> mi.factor
[1] varn mujer mujer varn varn
Levels: mujer varn
> summary(mi.factor)
mujer varn
2 3
95
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Matrices Una matriz es la versin bidimensional de un vector. Se puede crear una matriz a partir
de un vector datos, con la orden matrix:
> m <- matrix(1:6, nrow = 2)
> m
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> m <- matrix(1:6, nrow = 2, byrow = T)
> m
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
Para obtener una submatriz, hay que indicar subndices para las y columnas; en blanco, para
seleccionar toda la dimensin:
> m[1, 2]
[1] 2
> m[1, ]
[1] 1 2 3
> m[, 2]
[1] 2 5
> m[, 2, drop = FALSE]
[,1]
[1,] 2
[2,] 5
> m[, 2:3]
[,1] [,2]
[1,] 2 3
[2,] 5 6
> m[, -1]
[,1] [,2]
[1,] 2 3
[2,] 5 6
Ntese que hay diferencia entre un vector y una matriz con una sola la o una sola columna
(obtenida con la opcin DROP=FALSE).
Se pueden pegar vectores o matrices por columnas mediante la funcin cbind para formar una
nueva matriz:
> cbind(1:3, c(8, 9, 10))
96
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[,1] [,2]
[1,] 1 8
[2,] 2 9
[3,] 3 10
> cbind(m, c(100, 200))
[,1] [,2] [,3] [,4]
[1,] 1 2 3 100
[2,] 4 5 6 200
o por las mediante la funcin rbind:
> rbind(1:3, c(8, 9, 10))
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 8 9 10
Se puede trasponer una matriz con la funcin t, hallar su determinante mediante det, multiplicar
matrices con %
*
%, etc.
Al igual que los vectores, todos los elementos de una matriz han de ser del mismo tipo (homog-
neos):
> m[1, 1] <- "nombre"
> m
[,1] [,2] [,3]
[1,] "nombre" "2" "3"
[2,] "4" "5" "6"
Arrayes Un array (o tensor) es la generalizacin de una matriz de dos dimensiones al caso multi-
dimensional. Se pueden crear a partir de vectores (como las matrices con matrix) usando la orden
array, cuyo primer argumento es un vector de datos y, el segundo, un vector de dimensiones. Los
comandos para manejar arrayes son similares a los que manejan matrices.
> x <- array (c (45,46,65,55,170,167,48,49,68,56,169,165), c (2,3,2))
> dimnames (x) <- list (c ("varones", "mujeres"),
+ c ("edad", "peso", "altura"),
+ c ("Villarriba", "Villabajo"))
> x
, , Villarriba
edad peso altura
varones 45 65 170
mujeres 46 55 167
, , Villabajo
edad peso altura
varones 48 68 169
mujeres 49 56 165
> x["mujeres",,] # Datos de todas las mujeres
97
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Villarriba Villabajo
edad 46 49
peso 55 56
altura 167 165
> x[,"altura",] # Todas las alturas
Villarriba Villabajo
varones 170 169
mujeres 167 165
> x[,,"Villabajo"] # Datos para la poblacin "Villabajo"
edad peso altura
varones 48 68 169
mujeres 49 56 165
Como las matrices, son homogneos:
> x[1, 1, 1] <- "NS/NC"
> x
, , Villarriba
edad peso altura
varones "NS/NC" "65" "170"
mujeres "46" "55" "167"
, , Villabajo
edad peso altura
varones "48" "68" "169"
mujeres "49" "56" "165"
Listas Para almacenar elementos heterogneos hay que recurrir a una lista:
> l <- list(bab, matrix(1:4, 2), letters)
> l
[[1]]
[1] 1.0 2.0 3.0 10.0 8.5 1.0 2.0 3.0 10.0
[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4
[[3]]
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q"
[18] "r" "s" "t" "u" "v" "w" "x" "y" "z"
Al subindicar con corchetes simples se obtiene una sublista:
> l[1]
[[1]]
[1] 1.0 2.0 3.0 10.0 8.5 1.0 2.0 3.0 10.0
98
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
> l[c(1, 3)]
[[1]]
[1] 1.0 2.0 3.0 10.0 8.5 1.0 2.0 3.0 10.0
[[2]]
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q"
[18] "r" "s" "t" "u" "v" "w" "x" "y" "z"
Al subindicar con corchetes dobles se puede extraer UN elemento de la lista:
> l[[1]]
[1] 1.0 2.0 3.0 10.0 8.5 1.0 2.0 3.0 10.0
> l[[1]][4:6]
[1] 10.0 8.5 1.0
Los elementos de una lista pueden tener etiquetas
4
, en cuyo caso se puede usar dicha etiqueta
entre los corchetes dobles, o utilizar el operador $, para acceder a los elementos de la lista:
> n <- list(bab = bab, cadena = "Cadena")
> n[["bab"]]
[1] 1.0 2.0 3.0 10.0 8.5 1.0 2.0 3.0 10.0
> n\$cadena
[1] "Cadena"
Dataframes Los dataframes son un tipo de lista que sirve para generalizar a las matrices, en el
sentido de que las columnas (que a menudo representan variables estadsticas) pueden ser de
tipos diferentes (unas numricas y otras factores, por ejemplo); sin embargo, todos los elementos de
una misma columna deben ser del mismo tipo. Al igual que las columnas de una matriz, todas las
columnas de un dataframe deben ser de la misma longitud; lo mismo pasa con las las. Por tanto,
a un dataframe se le pueden aplicar los operadores de listas y los de matrices. Es la estructura
esencial para guardar valores de variables estadsticas:
> d <- data.frame(v1 = c(2, 4, 8, 9), v2 = c("v", "v", "m",
+ "m"))
> d
v1 v2
1 2 v
2 4 v
3 8 m
4 9 m
> d[2, 1]
[1] 4
> d[1, ]
v1 v2
1 2 v
> d[, 2]
4
Tambin los de los vectores y matrices, pero no nos ocuparemos de eso.
99
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[1] v v m m
Levels: m v
> d$v1
[1] 2 4 8 9
Ntese que, al construir el dataframe, el vector de cadenas se ha convertido en factor, es decir,
en un vector acompaado de una lista de niveles (modalidades de la variable estadstica).
Funciones Un objeto de R tambin puede almacenar una funcin:
> f <- function(x) x^2
que puede usarse como argumento de otras funciones:
> sapply(5:10, f)
[1] 25 36 49 64 81 100
> sapply(5:10, sqrt)
[1] 2.236068 2.449490 2.645751 2.828427 3.000000 3.162278
al igual que las funciones predenidas de R, como sqrt (raz cuadrada). Como se ve, la funcin
sapply aplica una funcin a cada elemento de un vector (o lista), y devuelve un vector (o lista) de
resultados.
A partir de aqu se incluye una serie de tablas que contienen muchas de las funciones ms habi-
tuales en R.
Operaciones lgicas
Funcin Signicado
Operaciones aritmticas: help(+)
+ suma
- resta
*
multiplicacin
/ divisin
exponenciacin
%% resto divisin entera
%/% cociente divisin entera
Operaciones de comparacin: help(<)
< menor
> mayor
<= menor o igual
>= mayor o igual
== igualdad lgica
!= distinto
Operadores lgicos: help(!)
! negacin lgica (NO)
& conjuncin lgica (Y)
| disyuncin lgica (O)
xor disyuncin exclusiva
100
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Funciones matemticas
Funcin Signicado
Funciones logartmicas: help(log)
log(x) logaritmo natural
log10(x) logaritmo en base 10
log2(x) logaritmo en base 2
logb(x,base) logaritmo en cualquier base
log1p(x) calcula log(1 + x) con precisin para |x| 1
exp(x) funcin exponencial
expm1(x) calcula exp(x) 1 con precisin para |x| 1
Funciones trigonomtricas: help(Trig)
cos(x) coseno
sin(x) seno
tan(x) tangente
acos(x) arcocoseno
asin(x) arcoseno
atan(x) arcotangente
atan2(y,x) ngulo entre el eje X y el vector del origen al punto (x, y)
Otras funciones matemticas: help(abs)
abs(x) valor absoluto
sqrt(x) raz cuadrada
Funciones especiales: help(Special)
factorial(x) x!
choose(n,x) binomio n sobre x
Operaciones de redondeo: help(round)
Funcin Signicado
ceiling(x) redondeo hacia arriba
floor(x) redondeo hacia abajo
round(x) redondeo al ms cercano
signif(x) redondeo al nmero de dgitos signicativos especicado
trunc(x) eliminar decimales
Ordenacin de vectores: help(rank), help(order), help(sort)
Funcin Signicado
sort(x) vector x ordenado de menor a mayor
rev(sort(x)) vector x ordenado de mayor a menor
sort(x,dec=T) vector x ordenado de mayor a menor
rank(x) vector de rangos de x
order(x) vector de permutaciones
Operaciones de extremos: help(max)
Funcin Signicado
max(x) valor mximo en x
min(x) valor mnimo en x
pmax(x,y,z) mximos en paralelo
pmin(x,y,z) mnimos en paralelo
101
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Operaciones acumulativas: help(sum), help(prod), help(cumsum)
Funcin Signicado
sum(x) suma de los valores de x
prod(x) producto de los valores de x
cumsum(x) vector que contiene las sumas acumuladas
cumprod(x) vector que contiene los productos acumulados
cummax(x) vector que contiene los mximos acumulados
cummin(x) vector que contiene los mnimos acumulados
Algunos descriptivos
Funcin Signicado
mean(x) Media aritmtica
mean(x,trim=0.2) Media recortada al 20 % (p.ej.)
median(x) Mediana
quantile(x,0.95) Cuantiles (p.ej. percentil 95)
sd(x) Cuasi-desviacin tpica
var(x) Cuasi-varianza
IQR(x) Rango intercuartlico
range(x) Rango (mnimo y mximo)
summary(x) Resumen estadstico
Algunas funciones sobre matrices
Funcin Signicado
dim Dimensiones de una matriz
dimnames Nombres de las dimensiones de una matriz
colnames Nombres de las columnas de una matriz
rownames Nombres de las las de una matriz
mode Tipo de datos de los elementos de una matriz
length Nmero total de elementos de una matriz
is.matrix Devuelve T si el objeto es una matriz, F si no lo es
[ , ] Accede a elementos dentro de la matriz
apply Aplica una funcin sobre las las o columnas de una matriz
cbind Pega matrices (o vectores) por columnas
rbind Pega matrices (o vectores) por las
102
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Operaciones con matrices
Funcin Signicado
t Traspuesta
+ Suma elemento a elemento
*
Producto elemento a elemento
%
*
% Producto matricial
crossprod Producto cruzado: crossprod(x,y) t(x)%
*
% y
outer Producto exterior de dos vectores
scale Escala las columnas de una matriz
diag Crea una matriz diagonal o extrae la diagonal de una matriz
det Determinante de una matriz
solve Inversa; resuelve sistemas de ecuaciones lineales
eigen Valores propios
svd Descomposicin en valores singulares
qr Descomposicin QR
chol Descomposicin de Choleski
6.1.4. Cambios de tipo
El lenguaje R incluye una serie de funciones (cuyos nombres comienzan por as.) para realizar
cambios de tipo. Por ejemplo:
> as.character(0:9)
[1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"
> as.numeric("5e4")
[1] 50000
> as.logical(0:3)
[1] FALSE TRUE TRUE TRUE
> as.list(5:7)
[[1]]
[1] 5
[[2]]
[1] 6
[[3]]
[1] 7
6.2. Leer y escribir datos
Aunque R puede leer directamente datos conservados segn una larga lista de formatos binarios
(omticos, de otros paquetes estadsticos, de servidores de datos...) aqu nos referiremos a la
importacin y exportacin de datos mediante el formato de datos nativo de R y mediante cheros de
texto puro.
103
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Binarios. Para guardar uno o varios objetos de R en un chero binario nativo de R (de extensin
.Rda o .RData) sese la orden save:
> mis.datos <- data.frame(nombres = c("Augusto", "Federico"),
+ edades = c(18, 29))
> save("mis.datos", file = "pacientes.rda")
Luego pueden recuperarse los datos con la orden load:
> load("pacientes.rda")
Si se quieren salvar todos los objetos de la sesin, sese la orden save.image:
> save.image("mi-sesin.rda")
Texto. Para guardar una matriz o un dataframe en un chero de texto puro, con la representacin
habitual de un registro por rengln y campos separados por cierto carcter, sese write.table:
> write.table(mis.datos, "pacientes1.csv")
> write.table(mis.datos, "pacientes2.csv", quote = FALSE, dec = ",",
+ sep = ";")
La opcin quote controla si los campos no numricos deben ir entrecomillados; dec indica el
separador de decimales; sep es el separador de campos (si es una cadena vaca, signica cualquier
cantidad de espacio en blanco).
Para leer un dataframe de un chero de texto, sese alguna de las funciones read.table,
read.csv, read.csv2, read.delim o read.delim2. Cualquiera de ellas puede leer cualquier
chero de texto, indicando las opciones adecuadas.
read.table considera por omisin que los campos estn separados por espacio en blanco (uno
o varios espacios o tabuladores); read.csv, por una coma ,; read.csv2, por un punto y coma
;; read.delim y read.delim2, por un carcter tabulador. Las funciones cuyo nombre termina
en 2 suponen que el separador decimal es un coma, en vez de un punto.
As, para leer los cheros creados antes se podra usar:
> mis.datos <- read.table("pacientes1.csv")
> mis.datos <- read.csv2("pacientes2.csv")
Si tuviera un chero de texto llamado datos.csv con este contenido:
nombre peso gmd
Asturiana 371 0,87
Estrella 404 1,10
Linda 279 1,02
Gallarda 331 0,76
Chenoa 368 0,91
podra leerlo con cualquiera de las rdenes siguientes:
> read.table("datos.csv", header = TRUE, dec = ",")
> read.csv2("datos.csv", sep = "")
> read.delim2("datos.csv", sep = "")
104
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
6.3. Distribuciones de probabilidad
Distribucin Nombre en R
Beta beta
Binomial binom
Cauchy cauchy
Exponencial exp
F f
Gamma gamma
Geomtrica geom
Hipergeomtrica hyper

2
(ji cuadrado) chisq
Log-normal lnorm
Logstica logis
Binomial negativa nbinom
Normal norm
Poisson pois
t de Student t
Uniforme unif
Weibull weibull
Wilcoxon wilcox
En R, se obtienen cuatro funciones para cada distribucin, anteponiendo a los nombres de la tabla
anterior los siguientes prejos:
Prejo Signicado (x es el primer argumento)
d densidad o probabilidad de ser igual a x
p distribucin: probabilidad de ser menor o igual que x
q cuantil: la probabilidad de ser menor o igual que l es x
r aleatorio: obtener una muestra aleatoria de tamao x
Ejemplos:
> dbinom (5, 10, 0.2) # Pr [B (10, 0'2) = 5]
[1] 0.02642412
> dnorm (0) # densidad de N (0, 1) en 0
[1] 0.3989423
> ppois (3, 5) # Pr [P (5) <= 3]
[1] 0.2650259
> rchisq (10, 2) # 10 aleatorios ji-2 con 2 gg.l.
[1] 2.0519064 0.7720866 1.1997284 0.4766653 1.5593090 1.8503443 0.2905899
[8] 3.4647322 1.0098705 3.7228154
6.4. Estadstica bsica
Dados unos datos, p.ej. (round redondea a entero),
> muestra <- round(rnorm(100, 170, 10))
> muestra
105
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[1] 174 171 182 179 171 159 191 171 177 165 160 180 184 161 171 168 160
[18] 179 183 166 167 176 173 177 177 164 153 179 142 174 157 180 179 162
[35] 174 148 165 165 178 163 162 165 153 177 180 194 175 174 172 170 178
[52] 172 166 170 180 186 163 187 160 163 183 161 185 166 170 171 160 168
[69] 173 147 179 162 181 161 174 177 161 177 155 168 158 154 180 162 179
[86] 178 183 163 174 181 160 172 150 171 178 158 192 167 157 184
se pueden obtener unos descriptivos rpidos mediante summary:
> summary(muestra)
Min. 1st Qu. Median Mean 3rd Qu. Max.
142.0 162.0 171.0 170.3 178.2 194.0
o una impresin visual mediante un diagrama de tallo y hojas:
> stem(muestra)
The decimal point is 1 digit(s) to the right of the |
14 | 278
15 | 0334577889
16 | 000001111222233334555566677888
17 | 00011111122233444444567777778888999999
18 | 0000011233344567
19 | 124
que puede ser ms intuitiva utilizando los dispositivos grcos de R, p.ej., para elaborar un histo-
grama:
> hist(muestra)
106
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Histogram of muestra
muestra
F
r
e
q
u
e
n
c
y
140 150 160 170 180 190
0
5
1
0
1
5
2
0
Se puede representar la funcin de distribucin emprica:
> plot(ecdf(muestra))
107
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
140 150 160 170 180 190 200
0
.
0
0
.
2
0
.
4
0
.
6
0
.
8
1
.
0
ecdf(muestra)
x
F
n
(
x
)
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
o en otro estilo:
> plot(ecdf(muestra), do.points = FALSE, verticals = TRUE)
108
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
140 150 160 170 180 190 200
0
.
0
0
.
2
0
.
4
0
.
6
0
.
8
1
.
0
ecdf(muestra)
x
F
n
(
x
)
Podemos explorar la normalidad de la muestra con un grco cuantil-cuantil:
> qqnorm(muestra)
> qqline(muestra)
109
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
2 1 0 1 2
1
4
0
1
5
0
1
6
0
1
7
0
1
8
0
1
9
0
Normal QQ Plot
Theoretical Quantiles
S
a
m
p
l
e

Q
u
a
n
t
i
l
e
s
o bien mediante una prueba ms formal, como la de Shapiro y Wilks:
> shapiro.test(muestra)
Shapiro-Wilk normality test
data: muestra
W = 0.987, p-value = 0.4375
o la de Kolmogorov y Smirnov:
> ks.test(muestra, "pnorm", mean = mean(muestra), sd = sd(muestra))
One-sample Kolmogorov-Smirnov test
data: muestra
D = 0.0891, p-value = 0.4055
alternative hypothesis: two-sided
6.5. Control del ujo
6.5.1. Agrupar expresiones
Si se quiere empotrar una serie de rdenes, de forma que se use el resultado de la ltima orden
en el lugar correspondiente, han de escribirse las rdenes separadas por ; (punto y coma) o por
n de rengln, y entre llaves:
110
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
> shapiro.test({
+ otra.muestra <- rnorm(100)
+ sqrt(otra.muestra[otra.muestra > 0])
+ }) $p.value
[1] 0.1433187
6.5.2. Condicionales
Existe una versin escalar :
> if (length(muestra) > 50) cat("Suficiente") else cat("Recoja ms datos")
y una vectorial:
> nmero.de.hijos <- c(2, 3, 0, 1, 1, 4)
> ifelse(nmero.de.hijos > 2, "Familia numerosa", "Sin descuento")
[1] "Sin descuento" "Familia numerosa" "Sin descuento"
[4] "Sin descuento" "Sin descuento" "Familia numerosa"
La versin escalar es ms eciente si slo interesa un resultado de verdadero o falso.
6.5.3. Bucles
Existe la orden for para recorrer un vector:
> for (i in 1:10) cat("El cuadrado de", i, "es", i^2, "\n")
> for (i in muestra) cat("El individuo mide", i, "\n")
> for (i in 1:length(muestra)) cat("El individuo", i, "mide",
+ muestra[i], "\n")
Existen tambin versiones para bucles repetir-hasta y repetir-mientras:
> repeat {
+ print("Escriba su cdigo (0 para salir)")
+ codigo <- scan(n = 1)
+ if (codigo == 0)
+ break
+ }
> while (codigo != 0) {
+ print("Escriba su cdigo (0 para salir)")
+ codigo <- scan(n = 1)
+ }
Sin embargo, en R lo ms habitual es emplear rdenes que apliquen funciones a los elementos
de una estructura. Por ejemplo, si se quiere aplicar una funcin a cada elemento de un vector, de
forma que se obtenga un nuevo vector o una matriz, se puede utilizar la orden sapply:
> sapply(1:4, function(i) paste(''El cuadrado de", i, "es",
+ i^2))
[1] "El cuadrado de 1 es 1" "El cuadrado de 2 es 4"
[3] "El cuadrado de 3 es 9" "El cuadrado de 4 es 16"
> sapply(10:13, function(i) c(i, i^2, i^3))
111
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[,1] [,2] [,3] [,4]
[1,] 10 11 12 13
[2,] 100 121 144 169
[3,] 1000 1331 1728 2197
Tambin puede utilizarse con listas:
> sapply (list (5:10, letters, matrix(0,2,2)),
+ function (x) paste ("Es de clase", class(x)))
[1] "Es de clase integer" "Es de clase character" "Es de clase matrix"
Un uso habitual de sapply es la mera repeticin de unas rdenes, por ejemplo, cuando se
generan nmeros seudoaleatorios:
> sapply(1:1000, function(x) {
+ muestra <- rnorm(100)
+ var(muestra)
+ })
Se puede hacer lo mismo con replicate:
> replicate(1000, {
+ muestra <- rnorm(100)
+ var(muestra)
+ })
Para aplicar una funcin a estructuras pluridimensionales (arrayes) se utiliza la orden apply, a
la que se indica a qu dimensin debe aplicarse la funcin. Por ejemplo, en el caso de matrices, la
dimensin 1 corresponde a las las y la dimensin 2, a las columnas:
> m <- matrix(1:6, nrow = 2)
> m
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> apply(m, 1, sum)
[1] 9 12
> apply(m, 2, sum)
[1] 3 7 11
Tngase en cuenta que sum es una funcin que calcula la suma de un vector.
He aqu un ejemplo con un tensor tridimensional:
> x <- array (c (45,46,65,55,170,167,48,49,68,56,169,165), c (2,3,2))
> dimnames (x) <- list (c ("varones", "mujeres"),
+ c ("edad", "peso", "altura"),
+ c ("Villarriba", "Villabajo"))
> apply (x, 1, mean)
varones mujeres
94.16667 89.66667
112
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
> apply (x, 2, mean)
edad peso altura
47.00 61.00 167.75
> apply (x, 3, mean)
Villarriba Villabajo
91.33333 92.50000
Tngase en cuenta que mean es una funcin que calcula la media de un vector.
6.6. Ejemplo
############################################################
## Fichero ProgramacionClase.r
############################################################
## Programacin bsica con R
# Preparacin de los datos
rm (list = ls (all = TRUE)) # Borramos todo lo que haya
############################################################
## Directorios
############################################################
getwd () # Directorio actual?
dir () # Listado de ficheros
setwd ("/home/emilio") # Cambio de directorio
############################################################
## Lectura de datos
############################################################
## Leer datos de un fichero xls
library (gdata) # si no va: install.packages ("gdata")
datosiris <- read.xls ("datos-iris.xls")
datosiris <- read.xls (choose.files ()) # en Windows
require (tcltk)
datosiris <- read.xls (tk_choose.files ()) # en Ubuntu
## Leer datos de un fichero csv
datosciudad <- read.csv2 ("datos_ciudad.csv")
## Leer datos de otro tipo de formatos
library(foreign)
read.spss ("datos_campo.sav")
113
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
## Leer datos en formato Rdata
load("Turisguay.rda")
## Mirar el nombre de las bases de datos cargadas
ls ()
## Avanzado: leer listado de alumnos bajado de UnioviDirecto
pp1 <- scan ("09.txt",
skip = 1,
what = list ("", "", "", "", "", "", "", ""),
sep="|",
fill="TRUE")
listadoalumnos <- as.data.frame.list (pp1) [-1,]
colnames (listadoalumnos) <- c ("orden", "dni", "nombre",
"matricula", "conv", "plan",
"grupo", "identificador")
for (j in colnames (listadoalumnos))
{
if (!is.numeric (listadoalumnos [,j]))
{
listadoalumnos [,j] <- trim (listadoalumnos [,j])
## si hay problemas con caracteres acentuados:
## listadoalumnos [,j] <- trim (iconv (listadoalumnos [,j],
"latin1", "UTF-8"))
}
listadoalumnos [,j] <- as.factor (listadoalumnos [,j])
}
listadoalumnos <- gdata::drop.levels (listadoalumnos)
listadoalumnos$matricula <-
as.numeric (as.character (listadoalumnos$matricula))
listadoalumnos$conv <-
as.numeric (as.character (listadoalumnos$conv))
head (listadoalumnos)
save (listadoalumnos, file="ListadoAlumnos.rda")
write.csv2 (listadoalumnos, file="ListadoAlumnos.csv",
row.names = FALSE)
114
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
############################################################
##
## Manejo bsico de Data Frames
##
############################################################
head (Datos) # Primeros registros
names (Datos) # Nombre de las columnas
summary (Datos) # Rpida descripcin
#########################################
## Seleccin de partes de la base de datos. Filtros
head (Datos)
Datos [1, 2]
Datos [1:10, 2]
Datos [1:10, 2:3]
Datos [c (1:10, 14,15), c (2:5, 8)]
names (Datos)
Datos [1:10, c ("p1", "p7", "p12")]
Datos [, "p6"] # Seleccionar la variable p6
Datos$p6
Datos [Datos [, "p15"] > 20, "p6"]
Datos [Datos [, "p15"] > 20, c ("p6", "p7", "p8")]
Datos [Datos$p15 > 20, c ("p6", "p7", "p8")]
levels (Datos$p6)
Datos [Datos$p15 > 20 & Datos$p6 == "Hotel", c("p6","p7","p8")]
Datos [Datos$p15 > 20 & Datos$p6 != "Hotel", c("p6","p7","p8")]
Datos [Datos$p15 > 20 | Datos$p6 != "Hotel", c("p6","p7","p8")]
turistashotel <- Datos [Datos$p6 == "Hotel", ]
head (turistashotel)
## Ordenar
ordenarporgasto <- order (Datos$gastotal)
datosordenados <- Datos [ordenarporgasto, ]
head (datosordenados)
###############################################
##
## Guardar
ls ()
save (list = ls(), file = "misdatos.rda") # Guardamos todo
save (turistashotel, file = "hotel.rda") # Slo turistashotel
115
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
############################################################
##
## Anlisis de datos
mean (Datos$p15, na.rm=TRUE)
max (Datos$p15, na.rm=TRUE)
sd (Datos$p15, na.rm=TRUE)
tabla1 <- table (Datos$p6) # Frecuencias absolutas
tabla2 <- 100
*
tabla1 / sum (tabla1) # Porcentajes
tabla2
## si no funciona lo que sigue: install.packages ("epicalc")
require (epicalc) # Cargamos este paquete
tab1 (Datos$p6) # Tabla de frecuencias y acumuladas
tablaordenada <- sort (tabla2) # Ordenamos los valores
dibujo1 <- barplot (tablaordenada, main="Tipo de alojamiento",
ylab="Porcentaje (%)", las = 1)
text (dibujo1, tablaordenada + 1,
format (tablaordenada, digits=3), xpd = TRUE)
t.test (gastotal ~ p18, data = Datos)
testmedias <- t.test (gastotal ~ p18, data = Datos)
testmedias
names (testmedias)
testmedias$p.value
testmedias$conf.int
116
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
#########################################
## Guardar grficos
#########################################
for (i in colnames (Datos))
{
nombrefichero <- paste ("Gr", i, ".pdf", sep="")
print (nombrefichero) # Escribe el nombre
pdf (nombrefichero) # Creamos fichero PDF
if (is.factor (Datos [, i]))
{
barplot (Datos [, i])
}
else
{
hist (Datos [, i])
}
dev.off () # Cerramos fichero PDF
}
############################################################
############################################################
117
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
7. Ejercicios
7.1. Anlisis de datos con RCommander
Instalacin de RCommander
Instale el R-commander en su ordenador (http://knuth.uca.es/R/R-UCA). Sigua los pa-
sos de la seccion 2.3.
Descargue la base de datos alcohol
Descargue la base de datos alcohol.rda y el cuestionario correspondiente a la Encuesta sobre los
estilos de vida de las personas jvenes de Gijn (http://uce.uniovi.es/Cursos). Describa
sucintamente la base de datos y los nombres de las variables.
Solucin:
Una vez descargado el archivo que contienelos datos, crguelo con el men Datos Cargar
conjunto de datos... que se explic en la seccin 4.5.2 en la pgina 35. Cuando el conjunto
de datos alcohol haya sido cargado, aparecer su nombre en la barra de elementos activos, como
se ilustra en la gura 117.
Figura 117: Conjunto de datos activo: alcohol.
Para visualizar un resumen de alcohol, use el men Estadsticos Resmenes
Conjunto de datos activo que se explic en la seccin 4.6.1 en la pgina 38. La salida
presenta el siguiente aspecto:
codigo p1 p2 p3
Min. : 1.0 Centro-Cimadevilla :328 Mascul.:693 Min. :15.00
1st Qu.: 321.5 Calzada-Nata.-Moreda:199 Femen. :590 1st Qu.:19.00
Median : 642.0 Pumar.-Roces :194 Median :22.00
Mean : 642.0 El Llano :165 Mean :22.42
3rd Qu.: 962.5 Arena-Viesques-Bibio:148 3rd Qu.:25.00
Max. :1283.0 Periferia :128 Max. :29.00
(Other) :121
p4 p5 p6 p7
Min. : 0 Min. : 86 Min. : 1.000 Min. : 1.00
1st Qu.: 0 1st Qu.: 1080 1st Qu.: 1.000 1st Qu.: 20.00
Median : 0 Median : 1440 Median : 2.000 Median : 25.00
Mean : 199 Mean : 1608 Mean : 1.794 Mean : 31.54
3rd Qu.: 295 3rd Qu.: 1872 3rd Qu.: 2.000 3rd Qu.: 40.00
Max. :2520 Max. :14400 Max. : 6.000 Max. :250.00
NA's : 424 NA's :159.000 NA's :573.00
p8 p9 p10 p11
Nunca he fumado :315 Min. : 7.00 Min. : 0.000 Min. : 0.000
Fumaba alguna vez:213 1st Qu.: 14.00 1st Qu.: 0.000 1st Qu.: 2.000
118
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Fumaba pero ya no: 73 Median : 16.00 Median : 1.000 Median : 4.000
Fumo actualmente :682 Mean : 15.69 Mean : 2.756 Mean : 5.043
3rd Qu.: 17.00 3rd Qu.: 4.000 3rd Qu.: 7.000
Max. : 26.00 Max. :30.000 Max. :36.000
NA's :349.00
p12
Min. : 1.000
1st Qu.: 4.000
Median : 7.000
Mean : 9.325
3rd Qu.: 12.000
Max. :108.000
Para visualizar slo los nombres de las variables, use el men Datos Conjunto de datos
activo Variables del conjunto de datos activo, que se explic en la seccin
4.9.2 en la pgina 65. La salida es la siguiente lista:
[1] "codigo" "p1" "p2" "p3" "p4" "p5" "p6" "p7"
[9] "p8" "p9" "p10" "p11" "p12"
Cuntos cuestionarios tiene la base de datos?
Solucin:
Use el men Estadsticos ->Resmenes ->Resmenes numricos para la variable
codigo. La salida es la siguiente:
mean sd 0% 25% 50% 75% 100% n
642 370.5145 1 321.5 642 962.5 1283 1283
y el valor que nos interesa, o sea, el nmero de datos en el conjunto, est indicado en la ltima
columna: n = 1283.
Qu variables tienen datos perdidos?
Solucin:
Use el men Estadsticos Resmenes Nmero de observaciones ausentes,
que se explic en la seccin 4.6.1 en la pgina 39. La salida ser la siguiente:
codigo p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
0 0 0 0 0 424 159 573 0 349 0
p11 p12
0 0
Qu variables son factores?
Solucin:
Para saber qu variables son factores (o variables categricas, o cualitativas), es suciente obser-
var el resumen del conjunto de datos del primer ejercicio: los resmenes de variables que aparecen
con distintos niveles son factores; los resmenes que aparecen con media, mediana, cuartiles, m-
nimo y maximo son variables nmericas.
119
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Qu porcentaje de hombres hay en la encuesta?
Solucin:
Use con la variable p2 el men Estadsticos Resmenes Distribucin de frecuencias,
que se explic en la seccin4.6.1 en la pgina 39.
Mascul. Femen.
54.01403 45.98597
Descripcin de variables numricas
Describa los principales estadsticos de Ingresos mensuales personales (p4), Ingresos men-
suaels familiares (p5), Dinero semanal que te dan (p7).
Solucin:
Use el men Estadsticos Resmenes Resmenes numricos selecionando va-
rias variables a la vez, como se explic en la seccin 4.6.1 en la pgina 39.
mean sd 0% 25% 50% 75% 100% n NA
p4 198.99766 367.93078 0 0 0 295 2520 1283 0
p5 1607.92666 1030.08156 86 1080 1440 1872 14400 859 424
p7 31.53521 22.26721 1 20 25 40 250 710 573
Ingresos totales
Cree una nueva variable llamada totalingresos que sea la suma de Ingresos mensuales
personales (p4) y de Dinero semanal que te dan (p7). Calcule su media.
Solucin:
Para crear la nueva variable totalingresos, use el men Datos Modificar variables
del conjunto de datos activo Calcular nueva variable... con la expresin
totalingresos = p4 + p7, como se explic en la seccin 4.9.3 en la pgina 68.
Para calcular la media de la nueva variable totalingresos, use el men Estadsticos
Resmenes Resmenes numricos con esa variable. La salida ser:
[1] 45.03099
Filtros
Seleccione a las mujeres que viven en Centro-Cimadevilla y describa sus ingresos mensuales
personales, familiares y la paga (p4, p5, p7).
Solucin:
Use el men Datos Conjunto de datos activo Filtrar conjunto de datos
activo... con la expresin p1==entro-Cimadevilla"& p2=="Femen.", como se indica
en la seccin 4.9.2 en la pgina 4.9.2.
Una vez que los datos estaran ltrados, calcule los resmenes usando el men Estadsticos
Resmenes Resmenes numricos, seleccionando las variables p4, p5 y p7. La sali-
da ser la siguiente:
mean sd 0% 25% 50% 75% 100% n NA
p4 173.40000 328.19591 0 0 0 163.5 1440 160 0
p5 1534.38835 774.64972 252 1080 1440 1800.0 4320 103 57
p7 27.68966 20.13634 5 16 20 32.5 150 87 73
120
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Diagrama de barras
Represente grcamente la distribucin por barrios (p1).
Solucin:
Use el men Grficas Diagrama de barras como se explic en la seccin 4.8.3 en la
pgina 62. Como resultado se obtiene el grco de la gura 118.
Figura 118: Distribucin por barrios
121
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Histograma
Dibuje el histograma del consumo total semanal.
Solucin:
Use el men Grficas Histograma como se explic en la seccin 4.8.2 en la pgina 60.
El resultado es el grco de la gura 119.
Figura 119: Distribucin del consumo de alcohol semanal
122
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Transformacin de variables
Transforme el consumo de alcohol total semanal (p12) en una variable llamada consumo con
tres niveles (bajo, medio y alto) mediante el mtodo natural (k-medias). Calcule el consumo
medio para cada categora y describa su distribucin de frecuencias.
Solucin:
Para transformar la variable consumo de alcohol total semanal (p12) en una variable categorica
con tres niveles (o, mejor dicho, segmentar), use el men Datos Modificar variables
del conjunto de datos activo Segmentar una variable numrica... como
se explic en la seccin 4.9.3 en la pgina 69. Seleccione la opcin Segmentos naturales,
ponga un tres en la barra de Nmero de clases y marque la opcin Especificar nombres
que, al abrirse la ventana de los nombres, le permiter asignar etiquetas a los tres niveles. No olvide
asignar el nombre consumo a la nueva variable segmentada.
Para calcular el consumo medio para cada nivel de consumo, use el men Estadsticos
Resmenes Resmenes numricos..., seleccione la variable p12 y pinche el botn
Resumir por grupos; seleccione la variable consumo para la segmentacin. La salida ser:
mean sd 0% 25% 50% 75% 100% n
bajo 5.160297 2.953194 1 3 5 8 11 942
medio 18.038710 5.132401 12 14 17 22 33 310
alto 48.741935 15.660923 34 40 43 53 108 31
Para calcular las frecuencias de los tres niveles (en porcentaje), use el men Estadsticos
Resmenes Distribucin de frecuencias, como se explic en la seccin 4.6.1 en la
pgina 39. La salida ser:
bajo medio alto
73.421668 24.162120 2.416212
Tablas de contingencia
Existe relacin entre el hbito de fumar y el sexo?
Solucin:
Use el men Estadsticos Tablas de contingencia Tabla de doble entrada...
como se explic en la seccin 4.6.2 en la pgina 41. Para obtener las frecuencias absolutas, se-
leccione en la ventana izquierda la variable p8 y en la derecha la variable p2. Marque la opcin
Sin porcentajes y Test de indipendencia Chi cuadrado. La salida est representa-
da abajo:
p2
p8 Mascul. Femen.
Nunca he fumado 191 124
Slo fum alguna vez 123 90
Fumaba pero ya no 34 39
S, fumo 345 337
> .Test <- chisq.test(.Table, correct=FALSE)
> .Test
Pearson's Chi-squared test
data: .Table
X-squared = 11.6057, df = 3, p-value = 0.008864
123
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Para obtener los porcentajes por columnas, seleccione la opcin Porcentajes por columnas.
La salida es la siguiente:
p2
p8 Mascul. Femen.
Nunca he fumado 27.6 21.0
Slo fum alguna vez 17.7 15.3
Fumaba pero ya no 4.9 6.6
S, fumo 49.8 57.1
Total 100.0 100.0
Count 693.0 590.0
> .Test <- chisq.test(.Table, correct=FALSE)
> .Test
Pearson's Chi-squared test
data: .Table
X-squared = 11.6057, df = 3, p-value = 0.008864
Contraste de medias
Existe relacin entre el consumo total de alcohol y el sexo?
Solucin:
Use el men Estadsticos Medias Test t para muestras indipendientes,
como se explic en la seccin 4.6.3 en la pgina 43. Seleccione en la ventana izquierda la variable
p2 y en la derecha la variable p12, marque Bilateral para la hiptesis alternativa, No para las
varianzas iguales y ponga el nivel de conanza a 95 %. La salida ser la siguiente:
Welch Two Sample t-test
data: p12 by p2
t = 8.0686, df = 1178.718, p-value = 1.738e-15
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
3.013180 4.949356
sample estimates:
mean in group Mascul. mean in group Femen.
11.155844 7.174576
Modelos lineales
Haga un modelo de regresin en la que el consumo total de alcohol (p12) dependa del barrio (p1)
y de los ingresos (p4, p5). Simplique dicho modelo.
Solucin:
Para crear el modelo use el men Estadsticos Ajuste de modelos Modelo
lineal, como se explic en la seccin 4.6.7.
Call:
lm(formula = p12 ~ p1+ p4 + p5, data = alcohol)
Residuals:
Min 1Q Median 3Q Max
124
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
-12.763 -5.499 -2.647 2.532 73.156
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.4158754 1.5012452 7.604 7.59e-14
***
p1[T.Pumar.-Roces] -2.7517855 1.4996854 -1.835 0.06687 .
p1[T.El Llano] -3.4663619 1.5175476 -2.284 0.02261
*
p1[T.El Coto] -4.7556169 1.7520831 -2.714 0.00678
**
p1[T.Centro-Cimadevilla] -3.3387579 1.4297497 -2.335 0.01976
*
p1[T.Calzada-Nata.-Moreda] -3.7271842 1.4759430 -2.525 0.01174
*
p1[T.Arena-Viesques-Bibio] -4.1012434 1.6519426 -2.483 0.01323
*
p1[T.Contrueces-Ceares] -1.8362702 1.9622245 -0.936 0.34964
p4 0.0012303 0.0008015 1.535 0.12515
p5 0.0004959 0.0003260 1.521 0.12857
---
Signif. codes: 0 '
***
' 0.001 '
**
' 0.01 '
*
' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.067 on 849 degrees of freedom
(424 observations deleted due to missingness)
Multiple R-squared: 0.02359,Adjusted R-squared: 0.01324
F-statistic: 2.279 on 9 and 849 DF, p-value: 0.01588
Para simplicar el modelo modelo1, use el men Modelos Seleccin de modelo paso
a paso..., como se ilustr en la seccin 4.7.2 en la pgina 56. Marque la opcin atrs/adelante
y el metodo BIC.
> modelofinal <- Rcmdr::stepwise(modelo1,
+ direction='backward/forward',
+ criterion='BIC')
Direction: backward/forward
Criterion: BIC
Start: AIC=3845.06
p12 ~ p1 + p4 + p5
Df Sum of Sq RSS AIC
- p1 7 873.15 70669 3808.5
- p5 1 190.25 69986 3840.6
- p4 1 193.71 69990 3840.7
<none> 69796 3845.1
Step: AIC=3808.45
p12 ~ p4 + p5
Df Sum of Sq RSS AIC
- p4 1 176.43 70846 3803.8
- p5 1 461.11 71130 3807.3
<none> 70669 3808.5
+ p1 7 873.15 69796 3845.1
Step: AIC=3803.84
p12 ~ p5
125
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Df Sum of Sq RSS AIC
<none> 70846 3803.8
- p5 1 636.48 71482 3804.8
+ p4 1 176.43 70669 3808.5
+ p1 7 855.87 69990 3840.7
Call:
lm(formula = p12 ~ p5, data = Datos)
Coefficients:
(Intercept) p5
7.9489149 0.0008361
El ajuste que nos aconseja RCommander es el ltimo de los que aparecen en la salida precedente.
Creemos entonces un nuevo modelo modelofinal, slo con la variable independiente p5. El
resultado nal ser un modelo con las siguientes caracteristicas:
Call:
lm(formula = p12 ~ p5, data = Datos)
Residuals:
Min 1Q Median 3Q Max
-11.765 -5.755 -2.852 2.693 73.148
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.9489149 0.5753274 13.816 < 2e-16
***
p5 0.0008361 0.0003013 2.775 0.00564
**
---
Signif. codes: 0 '
***
' 0.001 '
**
' 0.01 '
*
' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.092 on 857 degrees of freedom
(424 observations deleted due to missingness)
Multiple R-squared: 0.008904,Adjusted R-squared: 0.007748
F-statistic: 7.699 on 1 and 857 DF, p-value: 0.005644
7.2. Anlisis de datos con comandos
En esta seccin intentaremos resolver los mismos ejercicios de la seccin precedente, usando
esta vez los comandos del lenguaje R.
Descargue la base de datos alcohol
Descargue la base de datos y el cuestionario correspondiente a la Encuesta sobre los estilos de
vida de las personas jvenes de Gijn (http://uce.uniovi.es/R/). Describa sucintamente la
base de datos y los nombres de las variables.
Solucin:
> ## Preparacin de los datos
> rm (list = ls (all=TRUE)) # Borramos todo lo que haya antes
> getwd () # Muestra el directorio donde estamos
[1] "/home/emilio/Documentos/Clases/R/CursoICE/Material/Ejemplos"
126
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
> ## Cambiamos el directorio al que nos interesa
> setwd ("/home/emilio/Documentos/Clases/R/CursoICE/Material/Ejercicios/")
> load ("alcohol.rda") # Cargamos los datos
> ls () # Listamos las variables activas
[1] "Datos"
> summary(Datos) # Verificamos el contenido de Datos
codigo p1 p2 p3
Min. : 1.0 Centro-Cimadevilla :328 Mascul.:693 Min. :15.00
1st Qu.: 321.5 Calzada-Nata.-Moreda:199 Femen. :590 1st Qu.:19.00
Median : 642.0 Pumar.-Roces :194 Median :22.00
Mean : 642.0 El Llano :165 Mean :22.42
3rd Qu.: 962.5 Arena-Viesques-Bibio:148 3rd Qu.:25.00
Max. :1283.0 Periferia :128 Max. :29.00
(Other) :121
p4 p5 p6 p7
Min. : 0 Min. : 86 Min. : 1.000 Min. : 1.00
1st Qu.: 0 1st Qu.: 1080 1st Qu.: 1.000 1st Qu.: 20.00
Median : 0 Median : 1440 Median : 2.000 Median : 25.00
Mean : 199 Mean : 1608 Mean : 1.794 Mean : 31.54
3rd Qu.: 295 3rd Qu.: 1872 3rd Qu.: 2.000 3rd Qu.: 40.00
Max. :2520 Max. :14400 Max. : 6.000 Max. :250.00
NA's : 424 NA's :159.000 NA's :573.00
p8 p9 p10 p11
Nunca he fumado :315 Min. : 7.00 Min. : 0.000 Min. : 0.000
Fumaba alguna vez:213 1st Qu.: 14.00 1st Qu.: 0.000 1st Qu.: 2.000
Fumaba pero ya no: 73 Median : 16.00 Median : 1.000 Median : 4.000
Fumo actualmente :682 Mean : 15.69 Mean : 2.756 Mean : 5.043
3rd Qu.: 17.00 3rd Qu.: 4.000 3rd Qu.: 7.000
Max. : 26.00 Max. :30.000 Max. :36.000
NA's :349.00
p12
Min. : 1.000
1st Qu.: 4.000
Median : 7.000
Mean : 9.325
3rd Qu.: 12.000
Max. :108.000
> colnames (Datos) # Nombres de las columnas
[1] "codigo" "p1" "p2" "p3" "p4" "p5" "p6" "p7"
[9] "p8" "p9" "p10" "p11" "p12"
Cuntos cuestionarios tiene la base de datos?
Solucin:
> length(Datos$codigo) # Nmero de cdigos
[1] 1283
> length(unique(Datos$codigo)) # Nmero de cdigos nicos
[1] 1283
127
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Qu variables tienen datos perdidos?
Solucin:
> summary (Datos) # La opcin ms sencilla: indica si hay \verb+NA+s
> apply (Datos, 2, function (x) sum (is.na (x)))
codigo p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
0 0 0 0 0 424 159 573 0 349 0
p11 p12
0 0
Qu variables son factores?
Solucin:
> summary (Datos) # La opcin ms sencilla
> sapply (Datos, is.factor)
codigo p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
p11 p12
FALSE FALSE
Qu porcentaje de hombres hay en la encuesta?
Solucin:
> tabla1 <- table (Datos$p2) # Frecuencias absolutas
> 100
*
tabla1 / sum (tabla1) # En porcentaje
Mascul. Femen.
54.01403 45.98597
Descripcin de variables numricas
Describa los principales estadsticos de Ingresos mensuales personales (p4), Ingresos men-
suaels familiares (p5), Dinero semanal que te dan (p7).
Solucin:
> ## Los "::" equivalen a hacerlo en dos pasos:
> ## require (Rcmdr)
> ## numSummary (Datos [...] ...)
> Rcmdr::numSummary (Datos[,c("p4","p5","p7")],
+ statistics = c("mean", "sd", "quantiles"),
+ quantiles = c(0,.25,.5,.75,1))
mean sd 0% 25% 50% 75% 100% n NA
p4 198.99766 367.93078 0 0 0 295 2520 1283 0
p5 1607.92666 1030.08156 86 1080 1440 1872 14400 859 424
p7 31.53521 22.26721 1 20 25 40 250 710 573
128
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Ingresos totales
Cree una nueva variable llamada totalingresos que sea la suma de Ingresos mensuales
personales (p4) y de Dinero semanal que te dan (p7). Calcule su media.
Solucin:
> Datos$totalingresos <- Datos$p4 + Datos$p7
> ## Al haber datos perdidos, es necesario omitirlos en el clculo.
> mean (Datos$totalingresos, na.rm=TRUE)
[1] 45.03099
Filtros
Seleccione a las mujeres que viven en Centro-Cimadevilla y describa sus ingresos mensuales
personales, familiares y la paga (p4, p5, p7).
Solucin:
> levels(Datos$p2) # Niveles del sexo
[1] "Mascul." "Femen."
> levels(Datos$p1) # Niveles del barrio
[1] "Periferia" "Pumar.-Roces" "El Llano"
[4] "El Coto" "Centro-Cimadevilla" "Calzada-Nata.-Moreda"
[7] "Arena-Viesques-Bibio" "Contrueces-Ceares"
> Datosfiltrados <- Datos [ Datos$p1 == "Centro-Cimadevilla"
+ & Datos$p2 == "Femen.", ]
> Rcmdr::numSummary(Datosfiltrados[,c("p4","p5","p7")],
+ statistics = c("mean", "sd", "quantiles"),
+ quantiles = c(0,.25,.5,.75,1))
mean sd 0% 25% 50% 75% 100% n NA
p4 173.40000 328.19591 0 0 0 163.5 1440 160 0
p5 1534.38835 774.64972 252 1080 1440 1800.0 4320 103 57
p7 27.68966 20.13634 5 16 20 32.5 150 87 73
Diagrama de barras
Represente grcamente la distribucin por barrios (p1).
Solucin:
> p1bis <- Datos$p1 # Hacemos una copia
> levels (p1bis) <- substr (levels (Datos$p1), 1, 9)
> # Recortamos las etiquetas
> tablabarrio <- 100
*
table (p1bis) / sum (table (p1bis))
> # La tabla a dibujar
> tablaordenada <- sort (tablabarrio,
+ decreasing=TRUE) # Ordenamos los valores
> dibujo1 <- barplot (tablaordenada,
+ main="Distribucin por barrios",
+ ylab="Porcentaje (%)", las = 2)
> text (dibujo1, tablaordenada + 1,
+ format (tablaordenada, digits=2), xpd = TRUE)
129
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 120: Distribucin por barrios
Histograma
Dibuje el histograma del consumo total semanal.
Solucin:
> hist (Datos$p12, main="Consumo total semanal",
+ ylab="Nmero de personas",
+ xlab="Unidades alcohlicas")
130
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 121: Distribucin del consumo de alcohol semanal
Transformacin de variables
Transforme el consumo de alcohol total semanal (p12) en una variable llamada consumo con
tres niveles (bajo, medio y alto) mediante el mtodo natural (k-medias). Calcule el consumo medio
para cada categora y describa su distribucin de frecuencias
Solucin:
> Datos$consumo <- Rcmdr::bin.var(Datos$p12,
+ bins=3,
+ method='natural',
+ labels=c('Bajo','Medio','Alto'))
> by (Datos$p12, Datos$consumo, mean, na.rm=TRUE)
Datos$consumo: Bajo
[1] 5.160297
------------------------------------------------------------
Datos$consumo: Medio
[1] 18.03871
------------------------------------------------------------
Datos$consumo: Alto
[1] 48.74194
> require (epicalc) # si no funciona, antes: install.packages("epicalc")
> tab1 (Datos$consumo, graph=FALSE)
131
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Datos$consumo :
Frequency Percent Cum. percent
Bajo 942 73.4 73.4
Medio 310 24.2 97.6
Alto 31 2.4 100.0
Total 1283 100.0 100.0
Tablas de contingencia
Existe relacin entre el hbito de fumar y el sexo?
Solucin:
> cruce <- xtabs (~ p8 + p2, data=Datos)
> chisq.test (cruce, correct=FALSE)
Pearson's Chi-squared test
data: cruce
X-squared = 11.6057, df = 3, p-value = 0.008864
> addmargins (cruce)
p2
p8 Mascul. Femen. Sum
Nunca he fumado 191 124 315
Fumaba alguna vez 123 90 213
Fumaba pero ya no 34 39 73
Fumo actualmente 345 337 682
Sum 693 590 1283
> porcentajecolumna <- prop.table(cruce,2)
> porcentajecolumna
p2
p8 Mascul. Femen.
Nunca he fumado 0.27561328 0.21016949
Fumaba alguna vez 0.17748918 0.15254237
Fumaba pero ya no 0.04906205 0.06610169
Fumo actualmente 0.49783550 0.57118644
> barplot (porcentajecolumna,
+ main = "Hbito fumador segn el sexo",
+ ylab = "%", xlab = "Sexo",
+ legend.text = row.names(porcentajecolumna))
Contraste de medias
Existe relacin entre el consumo total de alcohol y el sexo?
Solucin:
> t.test (p12 ~ p2,
+ alternative = 'two.sided',
+ conf.level = .95,
+ var.equal = FALSE,
+ data = Datos)
132
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 122: Las mujeres fuman ms
Welch Two Sample t-test
data: p12 by p2
t = 8.0686, df = 1178.718, p-value = 1.738e-15
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
3.013180 4.949356
sample estimates:
mean in group Mascul. mean in group Femen.
11.155844 7.174576
> require (lattice) # Grficos avanzados
> histogram (~ p12 | p2 , data = Datos,
+ ylab = "Porcentaje sobre el total",
+ xlab = "Consumo semanal de alcohol (unidades alcohlicas)")
Modelos lineales
Haga un modelo de regresin en el que el consumo total de alcohol (p12) dependa del barrio (p1)
y de los ingresos (p4, p5). Simplique dicho modelo.
Solucin:
133
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Figura 123: Los hombres beben ms
> modelo1 <- lm (p12 ~ p1 + p4 + p5 ,
+ data = Datos)
> summary(modelo1)
Call:
lm(formula = p12 ~ p1 + p4 + p5, data = Datos)
Residuals:
Min 1Q Median 3Q Max
-12.763 -5.499 -2.647 2.532 73.156
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.4158754 1.5012452 7.604 7.59e-14
***
p1[T.Pumar.-Roces] -2.7517855 1.4996854 -1.835 0.06687 .
p1[T.El Llano] -3.4663619 1.5175476 -2.284 0.02261
*
p1[T.El Coto] -4.7556169 1.7520831 -2.714 0.00678
**
p1[T.Centro-Cimadevilla] -3.3387579 1.4297497 -2.335 0.01976
*
p1[T.Calzada-Nata.-Moreda] -3.7271842 1.4759430 -2.525 0.01174
*
p1[T.Arena-Viesques-Bibio] -4.1012434 1.6519426 -2.483 0.01323
*
p1[T.Contrueces-Ceares] -1.8362702 1.9622245 -0.936 0.34964
p4 0.0012303 0.0008015 1.535 0.12515
134
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
p5 0.0004959 0.0003260 1.521 0.12857
---
Signif. codes: 0 '
***
' 0.001 '
**
' 0.01 '
*
' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.067 on 849 degrees of freedom
(424 observations deleted due to missingness)
Multiple R-squared: 0.02359,Adjusted R-squared: 0.01324
F-statistic: 2.279 on 9 and 849 DF, p-value: 0.01588
> modelofinal <- Rcmdr::stepwise(modelo1,
+ direction = 'backward/forward',
+ criterion = 'BIC')
Direction: backward/forward
Criterion: BIC
Start: AIC=3845.06
p12 ~ p1 + p4 + p5
Df Sum of Sq RSS AIC
- p1 7 873.15 70669 3808.5
- p5 1 190.25 69986 3840.6
- p4 1 193.71 69990 3840.7
<none> 69796 3845.1
Step: AIC=3808.45
p12 ~ p4 + p5
Df Sum of Sq RSS AIC
- p4 1 176.43 70846 3803.8
- p5 1 461.11 71130 3807.3
<none> 70669 3808.5
+ p1 7 873.15 69796 3845.1
Step: AIC=3803.84
p12 ~ p5
Df Sum of Sq RSS AIC
<none> 70846 3803.8
- p5 1 636.48 71482 3804.8
+ p4 1 176.43 70669 3808.5
+ p1 7 855.87 69990 3840.7
Call:
lm(formula = p12 ~ p5, data = Datos)
Coefficients:
(Intercept) p5
7.9489149 0.0008361
Call:
lm(formula = p12 ~ p5, data = Datos)
Residuals:
135
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Min 1Q Median 3Q Max
-11.765 -5.755 -2.852 2.693 73.148
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.9489149 0.5753274 13.816 < 2e-16
***
p5 0.0008361 0.0003013 2.775 0.00564
**
---
Signif. codes: 0 '
***
' 0.001 '
**
' 0.01 '
*
' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.092 on 857 degrees of freedom
(424 observations deleted due to missingness)
Multiple R-squared: 0.008904,Adjusted R-squared: 0.007748
F-statistic: 7.699 on 1 and 857 DF, p-value: 0.005644
136
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
8. Apndice - Cuestionarios
8.1. Turismo
Encuesta turstica en el Principado de Asturias. Se realiza a los turistas que pernoctan en Asturias
Cdigo del cuestionario codcue:
p1 Zona geogrca:

1. Occidente
2. Centro
3. Oriente
p2 Perodo de recogida datos:

1. Enero-Mayo
2. Junio-Septiembre
3. Octubre-Diciembre
p3 Motivos de su visita a Asturias:

1. Ocio-Vacaciones
2. Trabajo
3. Otros
p4 Qu personas le acompaan en este viaje?:

1. Viaja solo
2. En pareja
3. En familia
4. Amigos/Grupo
5. Compaeros de trabajo
p5 Medio de transporte de llegada a Asturias:

1. Coche-moto propio
2. Coche de alquiler
3. Autobs contratado
4. Autobs de lnea regular
5. Tren
6. Avin
p6 Tipo de establecimiento en que se aloja:

1. Hotel
2. Turismo Rural
3. Camping
p7 Procedencia de la persona entrevistada:

1. Asturiano
2. Nacional
3. Extranjero
p8 Cuntas noches pernoctar en Asturias?
p9 La estancia, incluye n de semana?:

1. No
2. S
p10 Gasto en comidas en el alojamiento (en euros/persona y da):
p11 Gasto en comidas fuera del alojamiento (en euros/persona y da):
p12 Gasto en bebidas en bares y cafeteras (en euros/persona y da):
p13 Gasto en diversin en pubes y discotecas (en euros/persona y da):
p14 Gasto en alojamiento persona/da (en euros/persona y da):
p15 Gasto en actividades persona/da (en euros/persona y da):
p16 Gasto en transporte persona/da (en euros/persona y da):
p17 Gasto en compras varias persona/da (en euros/persona y da):
p18 Sexo de la persona entrevistada:

1. Femenino
2. Masculino
137
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
gasdia Gasto total diario por persona (euros):
gastotal Gasto total en el viaje por persona (euros):
8.2. Estilo de vida de la juventud
Encuesta sobre los estilos de vida de las personas jvenes de Gijn
Cdigo del cuestionario codigo:
p1 Barrio en que vive:

1. Periferia
2. Pumarn - Roces
3. El Llano
4. El Coto
5. Centro - Cimadevilla
6. Calzada - Natahoyo - Moreda
7. Arena - Viesques - Bibio
8. Contrueces - Ceares
p2 Sexo:

1. Masculino
2. Femenino
p3 Edad:
p4 Ingresos mensuales personales (en euros):
p5 Ingresos mensuales familiares (en euros):
p6 Nmero de personas en la familia, con ingresos:
p7 Dinero semanal que te dan (en euros):
p8 Fumas cigarrillos?:

1. Nunca he fumado
2. Slo fum alguna vez
3. Fumaba pero ya no
4. S, fumo
p9 A qu edad comenzaste a fumar?:
Los siguientes consumos se expresan en unidades alcohlicas, obtenidas a partir de las tablas de
equivalencia segn la respuesta facilitada por la persona entrevistada.
p10 Consumo de alcohol viernes tarde/noche:
p11 Consumo de alcohol sbado tarde/noche:
p12 Consumo de alcohol total semanal:
138
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
Referencias
[1] Jim Albert. Bayesian Computation with R. Springer, New York, 2007. ISBN 978-0-387-71384-
7.
[2] Jim Albert. Bayesian Computation with R. Springer Series in Statistics. Springer, 2nd edition,
2009. ISBN: 978-0-387-92297-3.
[3] Richard A. Becker, John M. Chambers, y Allan R. Wilks. The New S Language. Chapman &
Hall, London, 1988.
[4] Andreas Behr. Einfhrung in die Statistik mit R. WiSo Kurzlehrbcher. Vahlen, Mnchen, 2005.
ISBN 3-8006-3219-5.
[5] Balthasar Bickel. E-Z-R: an introduction to R for typologists. Universidad Leipzig, Liepzig,
2009.
[6] Roger S. Bivand, Edzer J. Pebesma, y Virgilio Gmez-Rubio. Applied Spatial Data Analysis
with R. Springer, New York, 2008. ISBN 978-0-387-78170-.
[7] Philip J. Boland. Statistical and Probabilistic Methods in Actuarial Science. Chapman & Hall/-
CRC, Boca Raton, FL, 2007. ISBN 1-584-88695-1.
[8] Benjamin M. Bolker. Ecological Models and Data in R. Princeton University Press, 2008. ISBN
978-0-691-12522-0.
[9] W. John Braun y Duncan J. Murdoch. A First Course in Statistical Programming with R. Cam-
bridge University Press, Cambridge, 2007. ISBN 978-0521872652.
[10] Karl W. Broman y Saunak Sen. A Guide to QTL Mapping with R/qtl. SBH/Statistics for Biology
and Health. Springer, 2009. ISBN: 978-0-387-92124-2.
[11] John M. Chambers. Programming with Data. Springer, New York, 1998. ISBN 0-387-98503-4.
[12] John M. Chambers. Software for Data Analysis: Programming with R. Springer, New York,
2008. ISBN 978-0-387-75935-7.
[13] John M. Chambers y Trevor J. Hastie. Statistical Models in S. Chapman & Hall, London, 1992.
ISBN 9780412830402.
[14] Julien Claude. Morphometrics with R. Springer, New York, 2008. ISBN 978-0-387-77789-4.
[15] Dianne Cook y Deborah F. Swayne. Interactive and Dynamic Graphics for Data Analysis.
Springer, New York, 2007. ISBN 978-0-387-71761-6.
[16] Paul S. P. Cowpertwait y Andrew Metcalfe. Introductory Time Series with R. Springer Series
in Statistics. Springer, 2009. ISBN: 978-0-387-88697-8.
[17] Michael J. Crawley. Statistics: An Introduction using R. Wiley, 2005. ISBN 0-470-02297-3.
[18] Francisco Cribari-Neto y Spyros G. Zarkos. R: Yet another econometric programming environ-
ment. Journal of Applied Econometrics, 14:319329, 1999.
[19] Jonathan D. Cryer y Kung-Sik Chan. Time Series Analysis With Applications in R. Springer,
New York, 2008. ISBN 978-0-387-75958-6.
[20] Peter Dalgaard. Introductory Statistics with R. Springer, 2002. ISBN 0-387-95475-9.
[21] Peter Dalgaard. Introductory Statistics with R. Springer, 2nd edition, 2008. ISBN 978-0-387-
79053-4.
139
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[22] Richard C. Deonier, Simon Tavar, y Michael S. Waterman. Computational Genome Analysis:
An Introduction. Springer, 2005. ISBN: 0-387-98785-1.
[23] Peter J. Diggle y Paulo Justiniano Ribeiro. Model-based Geostatistics. Springer, 2006. ISBN
0-387-32907-2.
[24] Dubravko Dolic. Statistik mit R. Einfhrung fr Wirtschafts- und Sozialwissenschaftler. R.
Oldenbourg, Mnchen, Wien, 2004. ISBN 3-486-27537-2.
[25] Sandrine Dudoit y Mark J. van der Laan. Multiple Testing Procedures and Applications to
Genomics. Springer Series in Statistics. Springer, 2007. ISBN: 978-0-387-49316-9.
[26] Stephen P. Ellner. Review of R, version 1.1.1. Bulletin of the Ecological Society of America,
82(2):127128, April 2001.
[27] Brian Everitt y Torsten Hothorn. A Handbook of Statistical Analyses Using R. Chapman &
Hall/CRC, Boca Raton, FL, 2006. ISBN 1-584-88539-4.
[28] Brian S. Everitt. An R and S-Plus Companion to Multivariate Analysis. Springer, 2005. ISBN
1-85233-882-2.
[29] Julian J. Faraway. Linear Models with R. Chapman & Hall/CRC, Boca Raton, FL, 2004. ISBN
1-584-88425-8.
[30] Julian J. Faraway. Extending Linear Models with R: Generalized Linear, Mixed Effects and
Nonparametric Regression Models. Chapman & Hall/CRC, Boca Raton, FL, 2006. ISBN 1-
584-88424-X.
[31] Andrea S. Foulkes. Applied Statistical Genetics with R: For Population-Based Association
Studies. Use R. Springer, 2009. ISBN: 978-0-387-89553-6.
[32] John Fox. An R and S-Plus Companion to Applied Regression. Sage Publications, Thousand
Oaks, CA, USA, 2002. ISBN 0-761-92279-2.
[33] Reinhard Furrer y Diego Kuonen. GRASS GIS et R: main dans la main dans un monde libre.
Flash Informatique Spcial t, pages 5156, sep 2001.
[34] Robert Gentleman. Bioinformatics with R. Chapman & Hall/CRC, Boca Raton, FL, 2008. ISBN
1-420-06367-7.
[35] Robert Gentleman. R Programming for Bioinformatics, volume 12 of Computer Science & Data
Analysis. Chapman & Hall/CRC, Boca Raton, FL, 2008. ISBN 978-1-420-06367-7.
[36] Robert Gentleman, Vince Carey, Wolfgang Huber, Rafael Irizarry, y Sandrine Dudoit, editors.
Bioinformatics and Computational Biology Solutions Using R and Bioconductor. Statistics for
Biology and Health. Springer, 2005. ISBN: 0-387-25146-4.
[37] Robert Gentleman y Ross Ihaka. Lexical scope and statistical computing. Journal of Compu-
tational and Graphical Statistics, 9:491508, 2000.
[38] Michael Greenacre. Correspondence Analysis in Practice, Second Edition. Chapman & Hall/-
CRC, Boca Raton, FL, 2007. ISBN 1-584-88616-1.
[39] Frank E. Harrell. Regression Modeling Strategies, with Applications to Linear Models, Survival
Analysis and Logistic Regression. Springer, 2001. ISBN 0-387-95232-2.
[40] Richard M. Heiberger y Burt Holland. Statistical Analysis and Data Display: An Intermediate
Course with Examples in S-Plus, R, and SAS. Springer Texts in Statistics. Springer, 2004.
ISBN 0-387-40270-5.
140
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[41] Richard M. Heiberger y Erich Neuwirth. R Through Excel. Use R. Springer, 2009. ISBN:
978-1-4419-0051-7.
[42] Peter D. Hoff. A First Course in Bayesian Statistical Methods. Springer Series in Statistics for
Social and Behavioral Sciences. Springer, 2009. ISBN: 978-0-387-92299-7.
[43] Kurt Hornik y Friedrich Leisch, editors. Proceedings of the 2nd International Workshop on
Distributed Statistical Computing (DSC 2001), Technische Universitt Wien, Vienna, Austria,
2001. ISSN 1609-395X.
[44] Sylvie Huet, Annie Bouvier, Marie-Anne Gruet, y Emmanuel Jolivet. Statistical Tools for Nonli-
near Regression. Springer, New York, 2003. ISBN 0-387-40081-8.
[45] Stefano Iacus y Guido Masarotto. Laboratorio di statistica con R. McGraw-Hill, Milano, 2003.
ISBN 88-386-6084-0.
[46] Stefano M. Iacus. Simulation and Inference for Stochastic Differential Equations: With R Exam-
ples. Springer, New York, 2008. ISBN 978-0-387-75838-1.
[47] Ross Ihaka y Robert Gentleman. R: A language for data analysis and graphics. Journal of
Computational and Graphical Statistics, 5(3):299314, 1996.
[48] Jana Jureckova y Jan Picek. Robust Statistical Methods with R. Chapman & Hall/CRC, Boca
Raton, FL, 2006. ISBN 1-584-88454-1.
[49] Rob Kabacoff. R in Action. Manning, 2010.
[50] Luke Keele. Semiparametric Regression for the Social Sciences. Wiley, Chichester, UK, 2008.
ISBN 978-0470319918.
[51] Christian Kleiber y Achim Zeileis. Applied Econometrics with R. Springer, New York, 2008.
ISBN 978-0-387-77316-2.
[52] Diego Kuonen. Introduction au data mining avec R : vers la reconqute du knowledge dis-
covery in databases par les statisticiens. Bulletin of the Swiss Statistical Society, 40:37,
2001.
[53] Diego Kuonen y Valerie Chavez. R - un exemple du succs des modles libres. Flash Infor-
matique, 2:37, 2001.
[54] Diego Kuonen y Reinhard Furrer. Data mining avec R dans un monde libre. Flash Informatique
Spcial t, pages 4550, sep 2001.
[55] Nhu D. Le y James V. Zidek. Statistical Analysis of Environmental Space-Time Processes.
Springer, 2006. ISBN 0-387-26209-1.
[56] Uwe Ligges. Programmieren mit R. Springer-Verlag, Heidelberg, 2005. ISBN 3-540-20727-9.
[57] Uwe Ligges. Programmieren mit R. Springer-Verlag, Heidelberg, 2nd edition, 2007. ISBN
3-540-36332-7.
[58] Uwe Ligges. Programmieren mit R. Springer-Verlag, Heidelberg, 3rd edition, 2009. ISBN
978-3-540-79997-9.
[59] Manuel Castejn Limas, Joaqun Ordieres Mer, Fco. Javier de Cos Juez, y Fco. Javier Mart-
nez de Pisn Ascacibar. Control de Calidad. Metodologia para el analisis previo a la modeliza-
cin de datos en procesos industriales. Fundamentos tericos y aplicaciones con R. Servicio
de Publicaciones de la Universidad de La Rioja, 2001. ISBN 84-95301-48-2.
[60] Scott M. Lynch. Introduction to Applied Bayesian Statistics and Estimation for Social Scientists.
Springer, New York, 2007. ISBN 978-0-387-71264-2.
141
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[61] John Maindonald y John Braun. Data Analysis and Graphics Using R. Cambridge University
Press, Cambridge, 2nd edition, 2007. ISBN 978-0-521-86116-8.
[62] Jean-Michel Marin y Christian P. Robert. Bayesian Core: A Practical Approach to Computatio-
nal Bayesian Statistics. Springer, New York, 2007. ISBN 978-0-387-38979-0.
[63] S. Mase, T. Kamakura, M. Jimbo, y K. Kanefuji. Introduction to Data Science for engineers
Data analysis using free statistical software R (in Japanese). Suuri-Kogaku-sha, Tokyo, April
2004. ISBN 4901683128.
[64] Gael Millot. Comprendre et raliser les tests statistiques laide de R. de boeck universit,
Louvain-la-Neuve, Belgique, 1st edition, 2009. ISBN: 2804101797.
[65] Robert A. Muenchen. Rfor SAS and SPSS Users. Springer Series in Statistics and Computing.
Springer, 2009. ISBN: 978-0-387-09417-5.
[66] Paul Murrell. R Graphics. Chapman & Hall/CRC, Boca Raton, FL, 2005. ISBN 1-584-88486-X.
[67] Paul Murrell y Ross Ihaka. An approach to providing mathematical annotation in plots. Journal
of Computational and Graphical Statistics, 9:582599, 2000.
[68] Fionn Murtagh. Correspondence Analysis and Data Coding with JAVA and R. Chapman &
Hall/CRC, Boca Raton, FL, 2005. ISBN 1-584-88528-9.
[69] G. P. Nason. Wavelet Methods in Statistics with R. Springer, New York, 2008. ISBN 978-0-
387-75960-9.
[70] Deborah Nolan y Terry Speed. Stat Labs: Mathematical Statistics Through Applications. Sprin-
ger Texts in Statistics. Springer, 2000. ISBN 0-387-98974-9.
[71] Paula Elosua Oliden. Existe vida ms all del SPSS? descubre R. Psicothema, 21(4):652
655, 2009.
[72] Emmanuel Paradis. Analysis of Phylogenetics and Evolution with R. Use R. Springer, New
York, 2006. ISBN 0-387-32914-5.
[73] Giovanni Parmigiani, Elizabeth S. Garrett, Rafael A. Irizarry, y Scott L. Zeger. The Analysis of
Gene Expression Data. Springer, New York, 2003. ISBN 0-387-95577-1.
[74] Stano Pekar y Marek Brabec. Moderni analyza biologickych dat. 1. Zobecnene linearni modely
v prostredi R [Modern Analysis of Biological Data. 1. Generalised Linear Models in R]. Biologie
dnes. Scientia, Praha, 2009. ISBN: 978-80-86960-44-9.
[75] Roger D. Peng y Francesca Dominici. Statistical Methods for Environmental Epidemiology
with R: A Case Study in Air Pollution and Health. Springer, New York, 2008. ISBN 978-0-387-
78166-2.
[76] Giovanni Petris, Sonia Petrone, y Patriza Campagnoli. Dynamic Linear Models with R. Use R.
Springer, 2009. ISBN: 978-0-387-77237-0.
[77] Bernhard Pfaff. Analysis of Integrated and Cointegrated Time Series with R. Use R. Springer,
2006. ISBN 0-387-98784-3.
[78] Bernhard Pfaff. Analysis of Integrated and Cointegrated Time Series with R, Second Edition.
Springer, New York, 2nd edition, 2008. ISBN 978-0-387-75966-1.
[79] Jose C. Pinheiro y Douglas M. Bates. Mixed-Effects Models in S and S-Plus. Springer, 2000.
ISBN 0-387-98957-0.
[80] J. O. Ramsay, Giles Hooker, y Spencer Graves. Functional Data Analysis with R and Matlab.
Use R. Springer, 2009. ISBN: 978-0-387-98184-0.
142
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[81] Clemens Reimann, Peter Filzmoser, Robert Garrett, y Rudolf Dutter. Statistical Data Analysis
Explained: Applied Environmental Statistics with R. Wiley, Chichester, UK, 2008. ISBN: 978-
0-470-98581-6.
[82] Detlev Reymann. Wettbewerbsanalysen fr kleine und mittlere Unternehmen (KMUs) Theo-
retische Grundlagen und praktische Anwendung am Beispiel gartenbaulicher Betriebe. Verlag
Detlev Reymann, Geisenheim, 2009. ISBN: 978-3-00-027013-0.
[83] Paulo J. Ribeiro, Jr. y Patrick E. Brown. Some words on the R project. The ISBA Bulletin,
8(1):1216, March 2001.
[84] Vito Ricci. R : un ambiente opensource per lanalisi statistica dei dati. Economia e Commercio,
1:6982, 2004.
[85] Vito Ricci. Rappresentazione analitica delle distribuzioni statistiche con R (prima parte). Eco-
nomia e Commercio, 1/2:4760, 2005.
[86] Brian D. Ripley. The R project in statistical computing. MSOR Connections. The newsletter of
the LTSN Maths, Stats & OR Network., 1(1):2325, February 2001.
[87] Christian Ritz y Jens C. Streibig. Nonlinear Regression with R. Springer, New York, 2009.
ISBN 978-0-387-09615-5.
[88] Maria L. Rizzo. Statistical Computing with R. Chapman & Hall/CRC, Boca Raton, FL, 2008.
ISBN 1-584-88545-9.
[89] Lothar Sachs y Jrgen Hedderich. Angewandte Statistik. Methodensammlung mit R. Springer,
Berlin, Heidelberg, 12th (completely revised) edition, 2006. ISBN 978-3-540-32160-6.
[90] Deepayan Sarkar. Lattice: Multivariate Data Visualization with R. Springer, New York, 2008.
ISBN 978-0-387-75968-5.
[91] Simon Sheather. A Modern Approach to Regression with R. Springer, New York, 2008. ISBN
978-0-387-09607-0.
[92] Robert H. Shumway y David S. Stoffer. Time Series Analysis and Its Applications With R
Examples. Springer, New York, 2006. ISBN 978-0-387-29317-2.
[93] David Siegmund y Benjamin Yakir. The Statistics of Gene Mapping. Springer, New York, 2007.
ISBN 978-0-387-49684-9.
[94] Phil Spector. Data Manipulation with R. Springer, New York, 2008. ISBN 978-0-387-74730-9.
[95] M. Henry H. Stevens. A Primer of Ecology with R. Use R. Springer, 2009. ISBN: 978-0-387-
89881-0.
[96] Ewout W. Steyerberg. Clinical Prediction Models: A Practical Approach to Development, Va-
lidation, and Updating. SBH/Statistics for Biology and Health. Springer, 2009. ISBN: 978-0-
387-77243-1.
[97] Terry M. Therneau y Patricia M. Grambsch. Modeling Survival Data: Extending the Cox Model.
Statistics for Biology and Health. Springer, 2000. ISBN: 0-387-98784-3.
[98] Kurt Varmuza y Peter Filzmoser. Introduction to Multivariate Statistical Analysis in Chemome-
trics. CRC Press, Boca Raton, FL, 2009. ISBN: 9781420059472.
[99] Kai Velten. Mathematical Modeling and Simulation: Introduction for Scientists and Engineers.
Wiley-VCH, 2009. ISBN: 978-3-527-40758-3.
[100] William N. Venables y Brian D. Ripley. S Programming. Springer, New York, 2000. ISBN
0-387-98966-8.
143
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
[101] William N. Venables y Brian D. Ripley. Modern Applied Statistics with S. Fourth Edition. Sprin-
ger, New York, 2002. ISBN 0-387-95457-0.
[102] John Verzani. Using R for Introductory Statistics. Chapman & Hall/CRC, Boca Raton, FL,
2005. ISBN 1-584-88450-9.
[103] Hrishikesh D. Vinod. Hands-on Intermediate Econometrics Using R: Templates for Extending
Dozens of Practical Examples. World Scientic, Hackensack, NJ, 2008. ISBN: 10-981-281-
885-5.
[104] Hadley Wickham. ggplot: Elegant Graphics for Data Analysis. Use R. Springer, 2009. ISBN:
978-0-98140-6.
[105] Simon N. Wood. Generalized Additive Models: An Introduction with R. Chapman & Hall/CRC,
Boca Raton, FL, 2006. ISBN 1-584-88474-6.
[106] Daniel B. Wright y Kamala London. Modern Regression Techniques Using R: A Practical
Guide. SAGE, London, UK, 2009. ISBN: 9781847879035.
[107] Alain Zuur, Elena N. Ieno, Neil Walker, Anatoly A. Saveiliev, y Graham M. Smith. Mixed Effects
Models and Extensions in Ecology with R. Springer, New York, 2009. ISBN 978-0-387-87457-
9.
[108] Alain F. Zuur, Elena N. Ieno, y Erik Meesters. A Beginners Guide to R. Use R. Springer, 2009.
ISBN: 978-0-387-93836-3.
144
Unidad de Consultora
Estadstica
Unidad de Consultora
Estadstica
145
U O NIVERSIDAD DE VIEDO
U N I O V I
C
E