Actualizado el 2 de Junio del 2021 (Publicado el 13 de Marzo del 2017)
10.408 visualizaciones desde el 13 de Marzo del 2017
3,1 MB
197 paginas
Creado hace 10a (27/11/2014)
El arte de programar en R:
un lenguaje para la estadística
Julio Sergio Santana
Efraín Mateos Farfán
27 de noviembre de 2014
El arte de programa en R: un lenguaje para la estadística / Julio Sergio
Santana Sepúlveda y Efraín Mateos Farfán.. -- México : Instituto Mexicano
de Tecnología del Agua. UNESCO. Comité Nacional Mexicano del
Programa Hidrológico Internacional, ©2014.
182 p. : il.
ISBN 978- 607-9368-15-9
1. R [Lenguajes de programación] 2. Estadística matemática I. Santana
Sepúlveda, Julio Sergio II. Mateos Farfán, Efraín.
005.1330727 Santana Sepúlveda, Julio Sergio.
S72
Coordinación editorial:
Instituto Mexicano de Tecnología del Agua.
Coordinación de Comunicación,
Participación e Información.
Subcoordinación de Vinculación, Comercialización
y Servicios Editoriales.
Primera edición: 2014.
Ilustración de portada:
© Óscar Alonso Barrón
D.R. © Instituto Mexicano de Tecnología del Agua
Paseo Cuauhnáhuac 8532
62550 Progreso, Jiutepec, Morelos
MÉXICO
www.imta.gob.mx
ISBN: 978- 607-9368-15-9
6
7
7
8
9
10
11
13
13
16
16
Índice general
Prólogo
1. Introducción
.
.
. .
. . . . . . . . . . . . . . . . . . . . . . . . . .
1.1. ¿Qué es R? .
1.2. Historia de R y S .
. . . . . . . . . . . . . . . . . . . . . . . .
1.3. Formato del código en el texto . . . . . . . . . . . . . . . . . . . .
1.4. Algunas características importantes de R . . . . . . . . . . . . .
1.5. Ayuda en R .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . .
. . .
.
2. Los datos y sus tipos
.
2.1. Los datos numéricos . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Vectores .
2.2.1. El uso de la función c() para crear vectores . . .
. . . . .
2.2.2. Creación de vectores a partir de archivos de texto - la fun-
. . . . . . . . . . . .
ción scan() . . . .
. . . . . . .
. . .
. .
.
.
.
.
.
17
2.2.3. Creación de vectores a partir de secuencias y otros patrones 18
20
2.2.4. Acceso a los elementos individuales de un vector
. . . .
22
2.2.5. Operaciones sencillas con vectores . . . . . . . . . . . . .
2.2.6. Otras clases de datos basadas en vectores . . . . . . . . .
27
27
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.3.1. Construcción de matrices . . . . . . . . . . . . . . . . . .
30
2.3.2. Acceso a los elementos individuales de una matriz . . .
2.3.3. Operaciones sencillas con matrices . . . . . . . . . . . . .
31
34
. . . . . . . . . . . . . . . . . .
35
2.4.1. Los factores y su estructura . . . . . . . . . . . . . . . . .
38
2.4.2. Acceso a los elementos de un factor
. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
40
2.5.1. Acceso a los elementos individuales de una lista . . . . .
41
. . . . . . . . . . . . .
44
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
46
.
. . .
. . .
. . . . .
. . . . .
. . .
.
.
.
.
.
.
.
.
.
.
.
.
2.5. Listas .
2.6. Data frames .
.
2.7. Funciones
2.8. Coerción .
.
2.3. Matrices
.
.
2.4. Factores y vectores de caracteres
1
ÍNDICE GENERAL
3. Acceso a porciones o subconjuntos de datos
. . .
. . . .
3.2.1.1.
. . . . .
. . . . .
3.1. Los operadores de acceso o selección . . . . . . . . . . . . . . . .
3.2. El operador [] .
. . . . . . . . . . .
3.2.1. Vectores y factores . . . . . . . . . . . . . . . . . . . . . .
Selección de una secuencia de elementos, o ele-
mentos particulares .
. . . . . . . . . . . .
Selección de elementos de acuerdo con una con-
. . . . . . . . . . . . . .
dición . . . . . . .
3.2.2. Matrices y data frames . . . .
. . . . . . .
3.2.2.1. El operador [] con un solo índice . . . . .
. . .
3.2.2.2. Omisión de índices en el operador
. . . . . . .
3.2.2.3. El uso de índices lógicos o condiciones . . . . .
. . . . .
3.3. Los operadores [[]] y $ . . . . .
. . .
. . . . . . .
. . . . .
. . . . .
3.2.1.2.
. . .
. . .
. . .
4. Estructuras de control y manejo de datos
.
.
.
.
. . .
Interrupciones del flujo normal de los ciclos
4.1. La construcciones IF-ELSE . . . . . . . . . . . . . . . . . . . . . .
4.2. Los ciclos .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Repeticiones por un número determinado de veces . . .
4.2.2. Repeticiones mientras se cumple una condición . . . . .
4.2.3. Repeticiones infinitas . . . .
. . . . . . .
4.2.4.
. . . . . . .
4.3. Funciones de clasificación, transformación y agregación de datos
. . . . . . . . . . . . . . . . . . . . . .
4.3.1. Motivación .
4.3.2. Las funciones sapply() y lapply() . . . . .
. .
4.3.3. Operaciones marginales en matrices y la función apply()
4.3.4. Clasificaciones y uso de la función split()
. .
4.3.5. Clasificación y operación: las funciones by() , aggregate()
. . . . . . .
. . . . .
. . . . .
. . .
. . .
. . . . . . . .
y tapply() . . . . .
. . . . .
. . . . .
5. Escritura de Funciones
. . .
. . . . .
. . . . . . .
función . . . . .
5.1. Estructura formal de una función . . . . . . . . . . . . . . . . . .
5.1.1. Argumentos y valor de resultado de una función . . . .
5.1.2. Revisión de los argumentos de una función . . . . . . . .
5.1.3. El argumento especial “...” . . . .
. .
5.1.3.1. El uso del argumento “...” para extender una
. . . . . . . . . . . . .
5.1.3.2. El uso del argumento “...” al principio de una
función, cuando no se conoce de antemano el
número de argumentos . .
. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
5.2.1. Asociación de símbolos con valores
. . . . . . . . . . . .
5.2.2. Reglas de alcance . . . . . . . . . . . . . . . . . . . . . . .
5.3. Contenido de los ambientes de las funciones . . . . . . . . . . .
5.4. Recursividad .
. . . . . . . . . . . . . . . . . . . . . . . . . .
5.5. Ejemplo: ajuste de datos a una función de distribución . . . . .
5.5.1. Histogramas de frecuencias . . . . . . . . . . . . . . . . .
5.2. Visibilidad del código .
. .
.
2
48
48
49
49
49
51
53
53
54
57
60
64
64
66
66
67
67
67
70
70
74
75
76
81
87
87
88
91
92
92
93
93
94
98
101
103
105
105
ÍNDICE GENERAL
3
108
113
5.5.2. Densidades y distribuciones de probabilidades . . . . . .
5.5.3. Funciones de densidad y distribución de probabilidades
. . . . . . . . . . . . . . . . .
5.5.4. El método de Newton-Raphson para la solución de siste-
Gamma .
. . . . .
. . .
. .
mas de ecuaciones no lineales . . . . . . . . . . . . . . . . 114
115
5.5.5.
Implementación del método en R . . . . . . . . . . . . . .
5.5.6. Ajuste a la función de densidad de probabilidades . . . .
118
.
.
.
.
.
.
.
.
.
6. Graficación con R
. . . . . . . . . . . . . . . . . . . . . . . . . .
6.1. Motivación .
6.2. La función más básica de graficación: plot() . . . .
. . . . . . .
6.3. Colores .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4. Gráficos para una variable . . . . . . . . . . . . . . . . . . . . . .
6.5. Gráficas de curvas continuas
. . . . . . . . . . . . . . . . . . . .
6.6. Ejemplo de gráficas escalonadas: distribución de Poisson . . . .
6.6.1. Distribuciones uniformes de variables discretas . . . . .
6.6.2. Funciones de densidad y distribución de probabilidades
. . . . . . . . . . . . . . . . .
6.7. Dispositivos gráficos . . . . . . . . . . . . . . . . . . . . . . . . .
de Poisson . .
. . . . .
. . .
7. Ajuste con modelos estadísticos
. . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1. Modelos lineales .
7.2. Modelos lineales generalizados . . . . . . . . . . . . . . . . . . .
7.2.1. Ejemplo de regresión logística . . . . . . . . . . . . . . .
Bibliografía
124
124
125
132
142
150
153
154
156
164
170
170
180
182
192
Índice de figuras
1.1. El sistema de ayuda del lenguaje R . . . . . . . . . . . . . . . . .
de 15 m.
2.1. Las componentes de la velocidad . . . . . . . . . . . . . . . . . .
2.2. Gráfico de la trayectoria del proyectil lanzado desde una altura
. . . . . . . . . . . . . . . . . . . . . .
2.3. La multiplicación matricial . . . . . . . . . . . . . . . . . . . . . .
2.4. Rotación de un triángulo; el triángulo rotado se muestra en rojo
2.5. Estructura interna de los factores . . . . . . . . . . . . . . . . . .
. . . .
.
.
.
.
.
.
11
25
27
32
34
37
4.1. Archivo que contiene datos de precipitación en distintas estaciones 77
4.2. Operación de la función split() . . . . .
78
4.3. Operación de la función by() . . . . .
81
. . .
. .
. . . . .
. . . . .
. . . . .
. . . . .
. . .
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
. . . .
tubre .
Fig. 5.4 .
5.1. Definición de una función . . . . . . . . . . . . . . . . . . . . . .
5.2. Tipos de símbolos en el interior de una función . . . . . . . . . .
5.3.
Jerarquía en los ambientes de las funciones . . . . . . . . . . . .
5.4. Precipitaciones promedio acumuladas en el mes de octubre en
el estado de Guerrero en mm . . . . . . . . . . . . . . . . . . . .
5.5. Gráfico, serie de tiempo, de las precipitaciones mostradas en la
. . . . . . . . . . . . . . . . . . . . . .
5.6. Histograma de precipitaciones para el estado de Guerrero en oc-
. . . . . . . . . . . . . . . . . . . . . .
5.7. Histograma de precipitaciones para el estado de Guerrero en oc-
. . . . . . . . . . . . . . . . . . . . . .
5.8. Ajuste del histograma a una curva continua . . . . . . . . . . . .
5.9. Gráfica de la función de densidad normal de probabilidades . .
5.10. Combinación del histograma con la función de densidad normal
. . . . . . . . . . . . . . . . . . . . . . . . . .
5.11. Funciones de densidad de probabilidades Gamma para distintos
. . . . . . . . . . . . . . . . . . . . . . . .
5.12. Ajuste de datos a una función de densidad de probabilidades
. . . . . . . . . . . . . . . . . . . . . .
5.13. Comparación de dos métodos de ajuste de la curva de densidad
. . . . . . . . . . . . . . . . . . . . . . . . . .
valores de parámetros
de probabilidades .
de probabilidades .
Gamma .
tubre .
. . . .
. . . .
.
.
.
.
.
.
.
.
Comentarios de: El arte de programar en R - un lenguaje para la estadística (0)
No hay comentarios