1 Objetivo

Determinar y simular muestreos

2 Descripción

Con un conjunto de datos utilizar mecanismos de programación para determinar muestreos mediante técnicas de aleatorio simple, aleatorio sistemático, aleatorio estratificado y por conglomerados.

3 Sustento teórico

El propósito de la estadística inferencial consiste en determinar y conocer el comportamiento sobre una población a partir de una muestra.

Una muestra es una porción, una proporción o parte de la población de interés. En muchos casos, el muestreo resulta más accesible y sencillo que el estudio de toda la población. (Lind, Marchal, and Wathen 2015).

Por otra parte la importancia del muestreo como lo menciona (Anderson, Sweeney, and Williams 2008) es cuestión de minimizar costo de trabajo, recopilar información de una muestra es sustancialmente menor, que hacerlo de una población completa; especialmente cuando se deben realizar entrevistas personales para recopilar la información.

Finamente, los métodos de muestreo aleatorio y sin sesgos son muy importantes para realizar inferencias estadísticas válidas (Lind, Marchal, and Wathen 2015).

3.1 Muestreo aleatorio simple

Una muestra aleatoria simple de tamaño \(n\) de una población finita de tamaño \(N\) es una muestra seleccionada de manera que cada posible muestra de tamaño \(n\) tenga la misma probabilidad de ser seleccionada (Anderson, Sweeney, and Williams 2008).

De un conjunto de \(N\) elementos de una población, un muestreo aleatorio simple sería una especie de rifa o tómbola para elegir de de entre los \(N\) total de población una cantidad de \(n\) número de la muestra.

3.2 Muestreo aleatorio sistemático

Se selecciona un punto aleatorio de inicio y posteriormente se elige cada k-ésimo miembro de la población (Lind, Marchal, and Wathen 2015).

Suele emplearse como alternativa al muestreo aleatorio simple, en especial cuando las poblaciones son grandes se lleva mucho tiempo tomar una muestra aleatoria simple en la que primero hay que hallar un número aleatorio y después contar o buscar en el marco el elemento correspondiente (Anderson, Sweeney, and Williams 2008).

El primer elemento se elige aleatoriamente, lo que permite suponer que una muestra sistemática tiene las propiedades de una muestra aleatoria simple. Esta suposición suele ser correcta cuando el marco es un ordenamiento aleatorio de los elementos de la población (Anderson, Sweeney, and Williams 2008)

3.3 Muestreo aleatorio estratificado

Cuando una población se divide en grupos a partir de ciertas características, el muestreo aleatorio estratificado garantiza que cada grupo o estrato se encuentre representado en la muestra (Lind, Marchal, and Wathen 2015).

(Anderson, Sweeney, and Williams 2008) describe el muestreo aleatorio estratificado en donde los elementos de la población primero se dividen en grupos, a los que se les llama estratos, de manera que cada elemento pertenezca a uno y sólo un estrato. La base para la formación de los estratos, que puede ser departamento, edad, tipo de industria, entre otros, está a discreción de la persona que diseña la muestra.

Por otra parte, para asegurar que la muestra sea una representación imparcial de las \(N\) observaciones, se debe determinar la frecuencia relativa y a partir de ahí generar las cantidad de muestra de cada estrato. (Lind, Marchal, and Wathen 2015).

3.4 Muestreo por conglomerados

La población se divide en conglomerados a partir de los límites naturales geográficos u otra clase. A continuación, estos se seleccionan al azar y se toma una muestra de forma aleatoria con elementos de cada grupo (Lind, Marchal, and Wathen 2015).

4 Desarrollo

4.1 Cargar librerías

library(dplyr)
library(mosaic)
library(readr)
library(ggplot2)  # Para gráficos
library(knitr)    # Para formateo de datos
library(fdth)     # Para tablas de frecuencias
library(leaflet)  # Para hacer mapas

4.2 Cargar datos

4.2.1 Cargar datos de nombres de personas

  • Se carga un conjunto de 100 nombres de personas con sus atributo de género y la actividad deportiva o cultura que practican,
  • Cargando un datos llamando a una función que construye los datos.
  • El argumento encoding significa que acepte acentos en los datos.
source("https://raw.githubusercontent.com/rpizarrog/Probabilidad-y-EstadIstica-VIRTUAL-DISTANCIA/main/funciones/construir%20datos%20y%20funciones.r", encoding = "UTF-8")

kable(head(personas, 10), caption = "Los primeros diez registros de nombres en el conjunto dedatos")
Los primeros diez registros de nombres en el conjunto dedatos
nombres generos ajedrez beisbol tiro.arco pesas futbol softbol atletismo folklorico tahitiano teatro rondalla pantomima
JUAN M NO NO NO SI NO SI NO NO NO NO NO SI
JOSÉ LUIS M NO NO NO NO NO NO NO SI NO NO NO NO
JOSÉ M NO SI NO SI NO NO NO NO NO NO SI SI
MARÍA GUADALUPE F NO SI NO NO NO NO NO NO NO NO SI SI
FRANCISCO M NO NO NO NO NO NO SI NO NO NO NO NO
GUADALUPE F NO NO NO NO NO NO NO NO NO NO NO NO
MARÍA F NO SI NO NO SI NO NO NO NO NO NO NO
JUANA F NO NO NO NO SI NO NO SI NO NO NO NO
ANTONIO M NO NO NO NO NO NO NO NO NO NO NO NO
JESÚS M NO NO SI NO NO SI NO NO SI NO NO NO
kable(tail(personas, 10), caption = "Las útimos diez registros de nombres en el conjunto de datos")
Las útimos diez registros de nombres en el conjunto de datos
nombres generos ajedrez beisbol tiro.arco pesas futbol softbol atletismo folklorico tahitiano teatro rondalla pantomima
91 ANDREA F NO NO NO NO NO NO NO NO NO NO NO SI
92 ISABEL F NO NO NO NO NO NO NO NO NO NO NO NO
93 MARÍA TERESA F NO SI NO NO SI NO NO SI NO NO NO NO
94 IRMA F SI SI NO NO NO NO NO NO NO NO NO NO
95 CARMEN F NO NO NO NO NO NO NO NO NO NO NO NO
96 LUCÍA F NO SI NO SI NO NO NO SI NO NO SI SI
97 ADRIANA F NO NO NO NO NO NO SI NO NO NO NO NO
98 AGUSTÍN M NO SI NO NO NO NO NO NO SI NO NO NO
99 MARÍA DE LA LUZ F NO NO NO NO NO NO SI NO NO NO NO NO
100 GUSTAVO M NO NO NO NO NO NO NO SI NO NO NO NO

4.2.2 Cargar datos de alumnos

  • Se cargan os datos de alumnos inscritos en una Institución de educación superior en el semetre septiembre 2020 a enero 2021, con los atributos siguientes:

    • No de control (modificado y no real),
    • Número Consecutivo de alumno
    • Semestre que cursa
    • Créditos aprobados
    • Carga académica que cursa
    • Promedio aritmético
    • Carrera
alumnos <- read_csv("https://raw.githubusercontent.com/rpizarrog/Probabilidad-y-EstadIstica-VIRTUAL-DISTANCIA/main/datos/datos%20alumnos.csv")

kable(head(alumnos, 10), caption = "Los primeros diez registros de alumnos")
Los primeros diez registros de alumnos
Alumno Semestre Cr. Apr. Carga Promedio Carrera
1 11 198 19 80.21 SISTEMAS
2 11 235 10 84.33 SISTEMAS
3 9 235 10 95.25 SISTEMAS
4 9 226 19 95.00 SISTEMAS
5 10 231 14 82.32 SISTEMAS
6 9 212 23 95.02 SISTEMAS
7 12 221 10 79.06 SISTEMAS
8 9 226 9 92.47 SISTEMAS
9 9 231 4 91.08 SISTEMAS
10 11 222 13 80.42 SISTEMAS
kable(tail(alumnos, 10), caption = "Las útimos diez registros de alumnos")
Las útimos diez registros de alumnos
Alumno Semestre Cr. Apr. Carga Promedio Carrera
5920 7 169 23 89.14 ADMINISTRACION
5921 5 109 26 87.83 ADMINISTRACION
5922 3 55 29 92.83 ADMINISTRACION
5923 2 23 23 88.60 ADMINISTRACION
5924 2 27 28 92.83 ADMINISTRACION
5925 7 94 13 80.95 ADMINISTRACION
5926 5 103 32 92.68 ADMINISTRACION
5927 4 79 34 86.18 ADMINISTRACION
5928 5 108 32 90.48 ADMINISTRACION
5929 7 169 32 92.33 ADMINISTRACION

4.2.3 Sembrar una semilla

set.seed(2021)

4.2.4 Simular muestreos

4.2.4.1 Muestreo aleatorio simple

  • Hay que encuestar a diez personas de 100 para hacerles alguna entrevista, ¿a quienes?
  • Con el conjunto de datos seleccionar 10 personas aleatoriamente con la función sample()
N <- nrow(personas)
n <- 10
muestra <- sample(personas$nombres, n)
kable(muestra, caption = "La muestra de personas")
La muestra de personas
x
MARÍA
VERÓNICA
TERESA
MARÍA DE LOS ÁNGELES
PEDRO
GABRIEL
GABRIELA
MARÍA DE LA LUZ
MARÍA DE JESÚS
RICARDO
  • Con el conjunto de datos alumnos, hay que encontrar a 100 alumnos, ¿A cuáles?
N <- nrow(alumnos)
n <- 100
registros <- sample(N, n) # Genera los números
muestra <- alumnos[registros, ]
kable(muestra, caption = "La muestra de alumnos")
La muestra de alumnos
Alumno Semestre Cr. Apr. Carga Promedio Carrera
5452 9 247 10 93.44 ADMINISTRACION
2995 7 109 31 84.84 INDUSTRIAL
956 7 170 28 87.56 ARQUITECTURA
5266 7 162 32 83.23 TIC
1147 9 146 23 81.84 BIOQUIMICA
1212 7 165 36 86.37 BIOQUIMICA
4733 8 210 25 89.41 GESTION EMPRESARIAL
2435 7 141 33 85.03 ELECTRICA
3886 3 43 27 86.50 MECATRONICA
360 5 78 31 87.41 SISTEMAS
4634 8 204 31 86.10 QUIMICA
4260 11 209 5 82.79 QUIMICA
2149 5 102 33 84.23 CIVIL
4438 1 NA 25 0.00 QUIMICA
4767 11 213 15 86.91 GESTION EMPRESARIAL
1776 1 NA 27 0.00 CIVIL
3426 5 73 29 80.29 MECANICA
3652 7 123 35 79.41 MECANICA
3926 4 52 4 87.25 MECATRONICA
4741 9 215 20 89.98 GESTION EMPRESARIAL
3145 2 27 24 84.00 INDUSTRIAL
3366 9 142 17 77.32 MECANICA
5394 5 109 27 90.71 INFORMATICA
683 4 68 28 80.38 ARQUITECTURA
2875 1 NA 27 0.00 INDUSTRIAL
754 3 52 28 93.50 ARQUITECTURA
1094 1 NA 26 0.00 ARQUITECTURA
3414 3 48 23 83.00 MECANICA
4806 1 NA 27 0.00 GESTION EMPRESARIAL
2751 3 41 31 87.30 INDUSTRIAL
2127 7 173 30 89.42 CIVIL
4770 6 72 31 83.06 GESTION EMPRESARIAL
2045 3 61 33 82.92 CIVIL
4091 4 80 24 89.11 MECATRONICA
5746 5 113 27 90.75 ADMINISTRACION
400 8 109 29 80.54 SISTEMAS
881 4 80 30 90.72 ARQUITECTURA
1624 11 221 14 79.46 CIVIL
1553 4 79 26 87.61 BIOQUIMICA
4838 8 210 25 92.34 GESTION EMPRESARIAL
1381 1 NA 23 0.00 BIOQUIMICA
5086 4 82 30 91.44 GESTION EMPRESARIAL
3528 3 52 28 86.17 MECANICA
1491 6 121 30 83.35 BIOQUIMICA
3139 7 171 36 86.08 INDUSTRIAL
3714 10 225 10 84.74 MECATRONICA
2833 6 115 27 81.19 INDUSTRIAL
4090 8 154 20 83.09 MECATRONICA
4777 5 107 33 87.87 GESTION EMPRESARIAL
5241 5 112 31 89.67 GESTION EMPRESARIAL
2559 3 52 25 87.33 ELECTRONICA
4465 9 214 21 89.05 QUIMICA
3037 3 50 30 87.17 INDUSTRIAL
2203 5 58 32 78.50 CIVIL
5624 3 55 29 96.67 ADMINISTRACION
2443 3 46 28 84.09 ELECTRICA
4718 10 225 10 85.17 GESTION EMPRESARIAL
1487 1 NA 23 0.00 BIOQUIMICA
5842 3 55 29 94.67 ADMINISTRACION
3657 3 52 27 87.08 MECANICA
3603 5 74 24 78.18 MECANICA
1552 1 NA 23 0.00 BIOQUIMICA
1506 5 74 31 81.94 BIOQUIMICA
362 6 137 28 88.47 SISTEMAS
4606 5 114 30 89.63 QUIMICA
3830 7 107 36 80.87 MECATRONICA
2348 5 78 24 82.26 ELECTRICA
790 1 NA 26 0.00 ARQUITECTURA
550 10 160 20 84.97 ARQUITECTURA
1144 9 264 10 86.56 BIOQUIMICA
3853 5 105 24 89.57 MECATRONICA
2849 5 108 34 88.88 INDUSTRIAL
430 2 NA 27 0.00 SISTEMAS
2709 9 197 13 83.49 INDUSTRIAL
4979 3 54 28 96.83 GESTION EMPRESARIAL
2649 3 52 25 90.75 ELECTRONICA
2143 7 155 17 82.18 CIVIL
3757 1 NA 25 0.00 MECATRONICA
3977 1 NA 25 0.00 MECATRONICA
535 9 198 29 88.31 ARQUITECTURA
4331 5 104 29 82.27 QUIMICA
3030 2 27 24 83.83 INDUSTRIAL
420 5 65 19 83.93 SISTEMAS
606 2 26 26 88.83 ARQUITECTURA
3374 11 168 15 77.35 MECANICA
1799 5 109 34 83.74 CIVIL
4381 5 104 30 84.23 QUIMICA
1683 2 27 30 89.00 CIVIL
5745 8 192 34 90.17 ADMINISTRACION
2468 8 124 23 84.00 ELECTRICA
5833 2 27 33 96.00 ADMINISTRACION
3187 1 NA 27 0.00 INDUSTRIAL
4721 9 224 11 90.34 GESTION EMPRESARIAL
3401 9 178 8 80.74 MECANICA
1674 3 48 29 80.70 CIVIL
3704 9 225 10 85.19 MECATRONICA
1345 3 52 30 94.50 BIOQUIMICA
2171 2 27 30 93.83 CIVIL
5317 5 101 29 91.36 TIC
4283 3 56 30 91.33 QUIMICA

4.2.4.2 3.2. Muestreo aleatorio sistemático

  • Con el conjunto de datos personas, iniciar en un valor aletorio e identificar los siguientes de 10 en 10 hasta tener diez personas.
N <- nrow(personas)
n = 10
saltos <- round(N / n, 0)
inicio <- round(sample(N, 1) / n, 0)
#inicio

cuales <- seq(from = inicio, to =N, by= saltos)
kable(personas[cuales, ], caption = "La muestra sistematizada de personas")
La muestra sistematizada de personas
nombres generos ajedrez beisbol tiro.arco pesas futbol softbol atletismo folklorico tahitiano teatro rondalla pantomima
2 JOSÉ LUIS M NO NO NO NO NO NO NO SI NO NO NO NO
12 PEDRO M NO NO NO NO NO NO NO NO NO NO NO NO
22 JORGE M SI NO NO NO NO NO NO NO NO NO NO NO
32 JOSÉ ANTONIO M NO NO SI NO NO NO NO SI NO NO NO NO
42 ROSA F SI NO NO NO NO SI NO NO NO NO NO NO
52 ARMANDO M NO NO SI NO NO NO SI NO NO NO NO NO
62 GLORIA F NO NO NO NO NO NO NO NO NO NO NO NO
72 ÓSCAR M SI NO NO NO NO NO NO NO NO NO NO NO
82 MARÍA DEL ROSARIO F NO NO SI NO NO SI NO NO NO NO NO NO
92 ISABEL F NO NO NO NO NO NO NO NO NO NO NO NO
  • Con el conjunto de datos alumnos, hay que encontrar a 100 alumnos, ¿A cuáles?, bajo el muetreo sistematizado
N <- nrow(alumnos)
n = 100
saltos <- round(N / n, 0)
inicio <- round(sample(N, 1) / n, 0)

cuales <- seq(from = inicio, to =N, by= saltos)

kable(alumnos[cuales, ], caption = "La muestra de alumnos")
La muestra de alumnos
Alumno Semestre Cr. Apr. Carga Promedio Carrera
8 9 226 9 92.47 SISTEMAS
67 9 231 4 94.16 SISTEMAS
126 1 NA 27 0.00 SISTEMAS
185 4 78 29 84.24 SISTEMAS
244 5 112 25 87.54 SISTEMAS
303 1 NA 27 0.00 SISTEMAS
362 6 137 28 88.47 SISTEMAS
421 5 33 9 81.00 SISTEMAS
480 12 206 17 83.58 ARQUITECTURA
539 10 179 32 83.97 ARQUITECTURA
598 2 20 20 86.60 ARQUITECTURA
657 8 211 20 91.28 ARQUITECTURA
716 5 110 32 92.75 ARQUITECTURA
775 5 106 32 89.17 ARQUITECTURA
834 1 NA 26 0.00 ARQUITECTURA
893 1 NA 26 0.00 ARQUITECTURA
952 3 48 22 88.73 ARQUITECTURA
1011 7 186 25 90.26 ARQUITECTURA
1070 8 202 25 82.59 ARQUITECTURA
1129 9 238 20 86.78 BIOQUIMICA
1188 9 105 33 77.05 BIOQUIMICA
1247 5 110 30 84.21 BIOQUIMICA
1306 7 130 30 80.68 BIOQUIMICA
1365 1 NA 23 0.00 BIOQUIMICA
1424 1 NA 23 0.00 BIOQUIMICA
1483 3 52 27 91.33 BIOQUIMICA
1542 5 110 30 89.00 BIOQUIMICA
1601 10 226 9 79.77 CIVIL
1660 15 215 30 76.49 CIVIL
1719 6 143 30 94.17 CIVIL
1778 5 97 34 85.10 CIVIL
1837 6 112 35 80.13 CIVIL
1896 6 131 29 87.00 CIVIL
1955 4 69 28 83.27 CIVIL
2014 6 131 31 81.89 CIVIL
2073 5 96 17 79.35 CIVIL
2132 3 57 29 89.58 CIVIL
2191 2 27 30 88.50 CIVIL
2250 9 210 20 84.15 ELECTRICA
2309 5 58 20 80.79 ELECTRICA
2368 1 NA 24 0.00 ELECTRICA
2427 1 NA 24 0.00 ELECTRICA
2486 6 95 23 84.45 ELECTRICA
2545 1 NA 25 0.00 ELECTRONICA
2604 1 NA 25 0.00 ELECTRONICA
2663 11 197 26 80.34 INDUSTRIAL
2722 10 235 10 83.72 INDUSTRIAL
2781 1 NA 27 0.00 INDUSTRIAL
2840 1 NA 27 0.00 INDUSTRIAL
2899 1 NA 27 0.00 INDUSTRIAL
2958 1 NA 27 0.00 INDUSTRIAL
3017 3 51 34 94.00 INDUSTRIAL
3076 7 152 23 84.06 INDUSTRIAL
3135 6 159 27 83.64 INDUSTRIAL
3194 7 67 10 81.13 INDUSTRIAL
3253 7 149 30 83.68 INDUSTRIAL
3312 1 NA 27 0.00 INDUSTRIAL
3371 10 211 24 80.07 MECANICA
3430 5 50 24 79.50 MECANICA
3489 6 127 29 82.89 MECANICA
3548 3 49 27 78.36 MECANICA
3607 8 186 28 83.66 MECANICA
3666 12 190 5 78.35 MECATRONICA
3725 7 142 33 82.23 MECATRONICA
3784 5 56 21 81.31 MECATRONICA
3843 3 53 27 87.33 MECATRONICA
3902 4 76 29 86.88 MECATRONICA
3961 3 53 27 86.83 MECATRONICA
4020 2 25 18 83.50 MECATRONICA
4079 1 NA 25 0.00 MECATRONICA
4138 3 56 30 89.42 QUIMICA
4197 8 157 10 83.61 QUIMICA
4256 6 123 28 81.38 QUIMICA
4315 9 215 15 90.00 QUIMICA
4374 7 172 32 92.67 QUIMICA
4433 6 123 28 86.38 QUIMICA
4492 1 NA 25 0.00 QUIMICA
4551 2 25 31 91.33 QUIMICA
4610 7 167 26 91.77 QUIMICA
4669 9 209 16 91.07 GESTION EMPRESARIAL
4728 10 194 31 82.83 GESTION EMPRESARIAL
4787 3 54 28 87.67 GESTION EMPRESARIAL
4846 3 49 33 84.36 GESTION EMPRESARIAL
4905 1 NA 27 0.00 GESTION EMPRESARIAL
4964 7 170 29 86.69 GESTION EMPRESARIAL
5023 1 NA 27 0.00 GESTION EMPRESARIAL
5082 4 32 23 89.43 GESTION EMPRESARIAL
5141 3 54 28 91.92 GESTION EMPRESARIAL
5200 1 NA 27 0.00 GESTION EMPRESARIAL
5259 11 176 10 78.82 TIC
5318 1 NA 26 0.00 TIC
5377 3 55 27 91.83 INFORMATICA
5436 9 190 27 89.95 ADMINISTRACION
5495 10 245 17 88.39 ADMINISTRACION
5554 7 146 27 88.42 ADMINISTRACION
5613 6 131 24 86.71 ADMINISTRACION
5672 1 NA 27 0.00 ADMINISTRACION
5731 7 128 32 82.75 ADMINISTRACION
5790 5 108 28 89.00 ADMINISTRACION
5849 7 151 32 86.25 ADMINISTRACION
5908 7 170 31 91.58 ADMINISTRACION

4.2.4.3 Muestreo aleatorio estratificado

  • Con el conjunto de datos de personas se trata de encontrar 10 , pero que sea representativa de acuerdo y conforme al género femenino y masculino.
  • ¿Cuál es la frecuencia relativa del género femenino?
  • ¿Cuál es la frecuencia relativa del género masculino?
  • Ambas frecuencias multiplicar por el tamaño de la muestra para garantizar imparcialidad en la muestra.
N <- nrow(personas)
n <- 10
femeninos  <- filter(personas, generos=='F')
masculinos <- filter(personas, generos=='M')

frfem <- nrow(femeninos) / N
frmas <- nrow(masculinos) / N

frfem 
## [1] 0.43
frmas 
## [1] 0.57
muestraFem <- sample(femeninos, n * frfem)
kable(muestraFem, caption = "La muestra de personas Femenino")
La muestra de personas Femenino
nombres generos ajedrez beisbol tiro.arco pesas futbol softbol atletismo folklorico tahitiano teatro rondalla pantomima orig.id
29 MARÍA DE GUADALUPE F NO NO NO NO SI NO NO SI NO SI NO NO 29
7 JAVIER F NO NO NO NO NO SI NO NO NO NO SI NO 7
11 ENRIQUE F NO NO NO NO NO NO NO NO SI NO SI NO 11
3 MARÍA F NO SI NO NO SI NO NO NO NO NO NO NO 3
muestraMas <- sample(masculinos, n * frmas)
kable(muestraMas, caption = "La muestra de personas Masculino")
La muestra de personas Masculino
nombres generos ajedrez beisbol tiro.arco pesas futbol softbol atletismo folklorico tahitiano teatro rondalla pantomima orig.id
46 RUBEN M NO SI NO NO NO NO NO NO NO NO SI NO 46
20 RAFAEL M NO NO NO NO NO NO NO SI NO NO NO NO 20
23 DAVID M NO NO NO NO NO NO NO NO NO NO NO NO 23
45 PABLO M NO NO SI NO NO NO SI SI NO NO NO NO 45
1 JUAN M NO NO NO SI NO SI NO NO NO NO NO SI 1
  • Simular muestreo estratificado por carreas de alumnos determinando las frecuencias relativas por medio de la función fdt_cat()
N <- nrow(alumnos)
n <- 100

tabla_frec <- data.frame(fdt_cat(alumnos$Carrera))

tabla_frec$muestra <-  round(tabla_frec$rf * n, 0)

kable(tabla_frec, caption = "Tabla de frecuencia de alumnos")
Tabla de frecuencia de alumnos
Category f rf rf… cf cf… muestra
INDUSTRIAL 707 0.1192444 11.924439 707 11.92444 12
ARQUITECTURA 675 0.1138472 11.384719 1382 23.30916 11
CIVIL 648 0.1092933 10.929330 2030 34.23849 11
GESTION EMPRESARIAL 585 0.0986676 9.866757 2615 44.10525 10
QUIMICA 568 0.0958003 9.580030 3183 53.68528 10
ADMINISTRACION 497 0.0838253 8.382527 3680 62.06780 8
SISTEMAS 452 0.0762355 7.623545 4132 69.69135 8
BIOQUIMICA 441 0.0743802 7.438016 4573 77.12936 7
MECATRONICA 432 0.0728622 7.286220 5005 84.41558 7
MECANICA 301 0.0507674 5.076741 5306 89.49233 5
ELECTRICA 280 0.0472255 4.722550 5586 94.21488 5
ELECTRONICA 161 0.0271547 2.715466 5747 96.93034 3
INFORMATICA 101 0.0170349 1.703491 5848 98.63383 2
TIC 81 0.0136617 1.366166 5929 100.00000 1
  • ¿Cuáles alumnos?
  • Sólo simular carreras de SISTEMAS Y CIVIL
N <- nrow(alumnos)
n <- 100
sistemas  <- filter(alumnos, Carrera =='SISTEMAS')
civil <- filter(alumnos, Carrera == 'CIVIL')


frsistemas <- nrow(sistemas) / N
frcivil <- nrow(civil) / N

frsistemas
## [1] 0.07623545
frcivil 
## [1] 0.1092933
muestrasistemas <- sample(sistemas, round(n * frsistemas, 0))
kable(muestrasistemas, caption = "La muestra de alumnos de Sistemas")
La muestra de alumnos de Sistemas
Alumno Semestre Cr. Apr. Carga Promedio Carrera orig.id
143 7 192 29 91.93 SISTEMAS 143
373 2 27 28 90.00 SISTEMAS 373
215 4 68 35 83.07 SISTEMAS 215
155 1 NA 27 0.00 SISTEMAS 155
109 4 83 29 83.39 SISTEMAS 109
321 3 55 28 87.50 SISTEMAS 321
371 7 119 18 81.31 SISTEMAS 371
388 5 89 25 86.58 SISTEMAS 388
muestracivil <- sample(civil, round(n * frcivil, 0))
kable(muestracivil, caption = "La muestra de alumnos de Civil")
La muestra de alumnos de Civil
Alumno Semestre Cr. Apr. Carga Promedio Carrera orig.id
1581 12 211 19 81.14 CIVIL 13
2174 6 98 34 80.38 CIVIL 606
1653 11 235 10 82.84 CIVIL 85
1870 7 95 31 78.19 CIVIL 302
2119 2 18 20 86.75 CIVIL 551
2014 6 131 31 81.89 CIVIL 446
1733 4 87 34 89.05 CIVIL 165
2192 2 22 25 89.60 CIVIL 624
2026 6 130 35 82.46 CIVIL 458
2069 1 NA 27 0.00 CIVIL 501
1782 6 111 34 83.13 CIVIL 214

4.2.4.4 Muestreo por conglomerados

  • En un proceso de simulación, al conjunto de datos alumnos agregar tres columnas: la localidad, latitud y longitud
  • Primero cargar datos de localidades de Durango
N <- nrow(alumnos)
n <- 100

locdurangomx <- read.csv("https://raw.githubusercontent.com/rpizarrog/Probabilidad-y-EstadIstica-VIRTUAL-DISTANCIA/main/datos/locdurangomx.csv", encoding = "UTF-8")

Segundo por medio de función sample() generar cinco registros aleatorios de localidades y agregar un sexto registro de Victoria de Durango.

Las localidades será un domicilio para simular el lugar en donde geográficamente viven los alumnos.

set.seed(2021)
localidades6 <- locdurangomx[sample(nrow(locdurangomx), 5), ]

localidades6 <- rbind(localidades6, locdurangomx[1,])
localidades6
##       X      Mapa Cve_Ent Nom_Ent Nom_Abr Cve_Mun Nom_Mun Cve_Loc
## 903 903 100051616      10 Durango    Dgo.       5 Durango    1616
## 166 166 100050349      10 Durango    Dgo.       5 Durango     349
## 442 442 100050904      10 Durango    Dgo.       5 Durango     904
## 743 743 100051371      10 Durango    Dgo.       5 Durango    1371
## 908 908 100051622      10 Durango    Dgo.       5 Durango    1622
## 1     1 100050001      10 Durango    Dgo.       5 Durango       1
##                         Nom_Loc Ámbito        Latitud        Longitud
## 903           Liberación Social      R 24°06´53.990"N 105°19´34.000"W
## 166          Revueltas [Rancho]      R 23°58´00.989"N 104°38´36.576"W
## 442              Rancho el Doce      R 24°01´11.048"N 104°33´54.670"W
## 743              Las Avestruces      R 24°04´40.829"N 104°33´20.779"W
## 908 Mauricio Alvarado Rodríguez      R 24°12´02.741"N 104°33´57.265"W
## 1           Victoria de Durango      U 24°01´26.357"N 104°40´12.700"W
##     Lat_Decimal Lon_Decimal Altitud Cve_Carta Pob_Total Pob_Masculina
## 903    24.11500   -105.3261    2506    G13C89         0             0
## 166    23.96694   -104.6435    1880    F13B12         7             *
## 442    24.01974   -104.5652    1867    G13D82         0             0
## 743    24.07801   -104.5558    1861    G13D82         0             0
## 908    24.20076   -104.5659    1868    G13D82         0             0
## 1      24.02399   -104.6702    1890    G13D81    518709        250073
##     Pob_Femenina Total.De.Viviendas.Habitadas
## 903            0                            0
## 166            *                            2
## 442            0                            0
## 743            0                            0
## 908            0                            0
## 1         268636                       133191
  • Tercero agregar las columnas: nombre de localidad, latitud y longitud al conjunto de datos alumnos con una probabilidad de que sean de Victoria de Durango del 60%.
  • Mostrar los primeros diez y últimos diez alumnos verificando las tres nuevas columnas.
registros <- locdurangomx[sample(localidades6$X, N, replace = TRUE, prob = c(.10, 0.12, 0.05, 0.07, 0.06, 0.60)),c("Nom_Loc", "Lat_Decimal", "Lon_Decimal")]

alumnos$localidad <- registros$Nom_Loc
alumnos$latitud <- registros$Lat_Decimal
alumnos$longitud <- registros$Lon_Decimal

kable(head(alumnos, 10), caption = "Los primeros diez registros de alumnos")
Los primeros diez registros de alumnos
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud
1 11 198 19 80.21 SISTEMAS Revueltas [Rancho] 23.96694 -104.6435
2 11 235 10 84.33 SISTEMAS Victoria de Durango 24.02399 -104.6702
3 9 235 10 95.25 SISTEMAS Liberación Social 24.11500 -105.3261
4 9 226 19 95.00 SISTEMAS Rancho el Doce 24.01974 -104.5652
5 10 231 14 82.32 SISTEMAS Victoria de Durango 24.02399 -104.6702
6 9 212 23 95.02 SISTEMAS Las Avestruces 24.07801 -104.5558
7 12 221 10 79.06 SISTEMAS Revueltas [Rancho] 23.96694 -104.6435
8 9 226 9 92.47 SISTEMAS Victoria de Durango 24.02399 -104.6702
9 9 231 4 91.08 SISTEMAS Las Avestruces 24.07801 -104.5558
10 11 222 13 80.42 SISTEMAS Victoria de Durango 24.02399 -104.6702
kable(tail(alumnos, 10), caption = "Las útimos diez registros de alumnos")
Las útimos diez registros de alumnos
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud
5920 7 169 23 89.14 ADMINISTRACION Revueltas [Rancho] 23.96694 -104.6435
5921 5 109 26 87.83 ADMINISTRACION Victoria de Durango 24.02399 -104.6702
5922 3 55 29 92.83 ADMINISTRACION Revueltas [Rancho] 23.96694 -104.6435
5923 2 23 23 88.60 ADMINISTRACION Victoria de Durango 24.02399 -104.6702
5924 2 27 28 92.83 ADMINISTRACION Victoria de Durango 24.02399 -104.6702
5925 7 94 13 80.95 ADMINISTRACION Victoria de Durango 24.02399 -104.6702
5926 5 103 32 92.68 ADMINISTRACION Mauricio Alvarado Rodríguez 24.20076 -104.5659
5927 4 79 34 86.18 ADMINISTRACION Victoria de Durango 24.02399 -104.6702
5928 5 108 32 90.48 ADMINISTRACION Victoria de Durango 24.02399 -104.6702
5929 7 169 32 92.33 ADMINISTRACION Victoria de Durango 24.02399 -104.6702
  • Cuarto encontrar frecuencias por localidad
N <- nrow(alumnos)
n <- 100

tabla_frec <- data.frame(fdt_cat(alumnos$localidad))

tabla_frec$muestra <-  round(tabla_frec$rf * n, 0)

kable(tabla_frec, caption = "Tabla de frecuencia de alumnos por localidad")
Tabla de frecuencia de alumnos por localidad
Category f rf rf… cf cf… muestra
Victoria de Durango 3582 0.6041491 60.414910 3582 60.41491 60
Revueltas [Rancho] 710 0.1197504 11.975038 4292 72.38995 12
Liberación Social 553 0.0932704 9.327037 4845 81.71698 9
Las Avestruces 413 0.0696576 6.965762 5258 88.68275 7
Mauricio Alvarado Rodríguez 347 0.0585259 5.852589 5605 94.53533 6
Rancho el Doce 324 0.0546467 5.464665 5929 100.00000 5
  • Quinto Determinar el porcentaje que le corresponde a cada conglomerado conforme a la frecuencia relativa.

  • ¿Cuáles alumnos?, de acuerdo al conglomerado o la localidad

  • Simular por las seis localidades

N <- nrow(alumnos)
n <- 100

# Determinar cada conglomerado
loc1 <- filter(alumnos, localidad == tabla_frec$Category[1])
loc2 <- filter(alumnos, localidad == tabla_frec$Category[2])
loc3 <- filter(alumnos, localidad == tabla_frec$Category[3])
loc4 <- filter(alumnos, localidad == tabla_frec$Category[4])
loc5 <- filter(alumnos, localidad == tabla_frec$Category[5])
loc6 <- filter(alumnos, localidad == tabla_frec$Category[6])


# Determinar frecuencias de cada conglomerado similiar a la tabla tabla_frec
frloc1 <- nrow(loc1) / N
frloc2 <- nrow(loc2) / N
frloc3 <- nrow(loc3) / N
frloc4 <- nrow(loc4) / N
frloc5 <- nrow(loc5) / N
frloc6 <- nrow(loc6) / N

# Crear muestras
muestraloc1 <- sample(loc1, round(n * frloc1, 0))
kable(muestraloc1, caption = paste("La muestra de alumnos de Localidad ",tabla_frec$Category[1] ))
La muestra de alumnos de Localidad Victoria de Durango
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud orig.id
2308 5 85 27 85.10 ELECTRICA Victoria de Durango 24.02399 -104.6702 1412
4878 3 54 28 87.42 GESTION EMPRESARIAL Victoria de Durango 24.02399 -104.6702 2955
813 2 20 20 88.20 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 502
2313 5 67 19 78.94 ELECTRICA Victoria de Durango 24.02399 -104.6702 1416
1467 4 77 28 87.82 BIOQUIMICA Victoria de Durango 24.02399 -104.6702 890
3736 5 103 24 86.87 MECATRONICA Victoria de Durango 24.02399 -104.6702 2255
2097 7 175 23 82.81 CIVIL Victoria de Durango 24.02399 -104.6702 1271
5112 3 54 28 85.00 GESTION EMPRESARIAL Victoria de Durango 24.02399 -104.6702 3094
5928 5 108 32 90.48 ADMINISTRACION Victoria de Durango 24.02399 -104.6702 3581
1907 5 71 28 81.20 CIVIL Victoria de Durango 24.02399 -104.6702 1149
3262 5 81 25 83.53 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1966
4308 1 NA 25 0.00 QUIMICA Victoria de Durango 24.02399 -104.6702 2604
634 8 194 25 87.35 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 388
3002 7 171 34 86.28 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1817
192 3 50 29 86.91 SISTEMAS Victoria de Durango 24.02399 -104.6702 119
4554 2 25 31 91.50 QUIMICA Victoria de Durango 24.02399 -104.6702 2760
4075 2 25 28 84.00 MECATRONICA Victoria de Durango 24.02399 -104.6702 2472
1392 1 NA 23 0.00 BIOQUIMICA Victoria de Durango 24.02399 -104.6702 845
3716 11 180 15 80.46 MECATRONICA Victoria de Durango 24.02399 -104.6702 2241
5491 9 245 11 94.83 ADMINISTRACION Victoria de Durango 24.02399 -104.6702 3329
3986 3 53 27 86.67 MECATRONICA Victoria de Durango 24.02399 -104.6702 2416
4441 1 NA 25 0.00 QUIMICA Victoria de Durango 24.02399 -104.6702 2688
3212 3 56 35 85.92 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1935
765 1 NA 26 0.00 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 473
2057 3 57 29 87.92 CIVIL Victoria de Durango 24.02399 -104.6702 1246
2135 6 143 30 85.47 CIVIL Victoria de Durango 24.02399 -104.6702 1295
5173 2 37 30 93.25 GESTION EMPRESARIAL Victoria de Durango 24.02399 -104.6702 3131
2950 2 27 28 84.33 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1788
5441 9 262 10 90.73 ADMINISTRACION Victoria de Durango 24.02399 -104.6702 3295
1241 7 138 29 82.20 BIOQUIMICA Victoria de Durango 24.02399 -104.6702 762
2387 5 106 30 90.58 ELECTRICA Victoria de Durango 24.02399 -104.6702 1452
4617 8 194 26 87.95 QUIMICA Victoria de Durango 24.02399 -104.6702 2796
2225 12 199 26 81.09 ELECTRICA Victoria de Durango 24.02399 -104.6702 1354
2373 1 NA 24 0.00 ELECTRICA Victoria de Durango 24.02399 -104.6702 1443
4154 1 NA 25 0.00 QUIMICA Victoria de Durango 24.02399 -104.6702 2518
656 5 94 30 85.90 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 402
717 5 110 32 87.92 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 443
836 1 NA 26 0.00 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 516
3553 6 103 33 78.48 MECANICA Victoria de Durango 24.02399 -104.6702 2133
758 2 32 26 87.00 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 467
2913 2 27 30 80.17 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1764
814 1 NA 26 0.00 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 503
5744 1 NA 27 0.00 ADMINISTRACION Victoria de Durango 24.02399 -104.6702 3475
1492 2 23 29 91.67 BIOQUIMICA Victoria de Durango 24.02399 -104.6702 903
4484 3 56 30 92.33 QUIMICA Victoria de Durango 24.02399 -104.6702 2711
5359 1 NA 27 0.00 INFORMATICA Victoria de Durango 24.02399 -104.6702 3247
762 1 NA 26 0.00 ARQUITECTURA Victoria de Durango 24.02399 -104.6702 470
2612 7 114 17 85.72 ELECTRONICA Victoria de Durango 24.02399 -104.6702 1592
3115 4 76 32 84.71 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1880
1470 4 52 25 82.17 BIOQUIMICA Victoria de Durango 24.02399 -104.6702 892
3084 4 76 36 83.41 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1861
2870 1 NA 27 0.00 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1741
2819 5 108 30 86.46 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1711
3231 3 27 20 82.67 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1949
298 7 155 34 83.18 SISTEMAS Victoria de Durango 24.02399 -104.6702 188
3260 1 NA 27 0.00 INDUSTRIAL Victoria de Durango 24.02399 -104.6702 1965
2472 3 20 22 75.80 ELECTRICA Victoria de Durango 24.02399 -104.6702 1504
3846 5 101 27 86.18 MECATRONICA Victoria de Durango 24.02399 -104.6702 2329
4129 6 144 23 87.17 QUIMICA Victoria de Durango 24.02399 -104.6702 2504
1716 2 27 26 92.83 CIVIL Victoria de Durango 24.02399 -104.6702 1037
muestraloc2 <- sample(loc2, round(n * frloc2, 0))
kable(muestraloc2, caption = paste("La muestra de alumnos de Localidad ",tabla_frec$Category[2] ))
La muestra de alumnos de Localidad Revueltas [Rancho]
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud orig.id
2859 4 56 24 81.69 INDUSTRIAL Revueltas [Rancho] 23.96694 -104.6435 352
107 4 83 29 85.61 SISTEMAS Revueltas [Rancho] 23.96694 -104.6435 12
350 1 NA 27 0.00 SISTEMAS Revueltas [Rancho] 23.96694 -104.6435 48
2949 4 74 32 80.24 INDUSTRIAL Revueltas [Rancho] 23.96694 -104.6435 362
1800 4 84 35 85.61 CIVIL Revueltas [Rancho] 23.96694 -104.6435 227
1220 5 81 34 85.44 BIOQUIMICA Revueltas [Rancho] 23.96694 -104.6435 151
3449 8 176 29 84.15 MECANICA Revueltas [Rancho] 23.96694 -104.6435 429
980 8 81 29 79.68 ARQUITECTURA Revueltas [Rancho] 23.96694 -104.6435 130
3498 7 166 26 87.75 MECANICA Revueltas [Rancho] 23.96694 -104.6435 435
4615 1 NA 25 0.00 QUIMICA Revueltas [Rancho] 23.96694 -104.6435 551
3870 1 NA 25 0.00 MECATRONICA Revueltas [Rancho] 23.96694 -104.6435 470
4623 3 56 30 94.75 QUIMICA Revueltas [Rancho] 23.96694 -104.6435 554
muestraloc3 <- sample(loc3, round(n * frloc3, 0))
kable(muestraloc3, caption = paste("La muestra de alumnos de Localidad ",tabla_frec$Category[3] ))
La muestra de alumnos de Localidad Liberación Social
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud orig.id
2903 5 99 34 85.36 INDUSTRIAL Liberación Social 24.115 -105.3261 244
4356 1 NA 25 0.00 QUIMICA Liberación Social 24.115 -105.3261 390
4229 3 36 30 89.25 QUIMICA Liberación Social 24.115 -105.3261 377
3580 8 175 21 85.34 MECANICA Liberación Social 24.115 -105.3261 317
4301 6 129 26 84.96 QUIMICA Liberación Social 24.115 -105.3261 383
726 1 NA 26 0.00 ARQUITECTURA Liberación Social 24.115 -105.3261 47
1993 2 27 30 89.83 CIVIL Liberación Social 24.115 -105.3261 163
5109 8 209 26 87.91 GESTION EMPRESARIAL Liberación Social 24.115 -105.3261 465
985 1 NA 26 0.00 ARQUITECTURA Liberación Social 24.115 -105.3261 72
muestraloc4 <- sample(loc4, round(n * frloc4, 0))
kable(muestraloc4, caption = paste("La muestra de alumnos de Localidad ",tabla_frec$Category[4] ))
La muestra de alumnos de Localidad Las Avestruces
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud orig.id
2319 3 28 22 77.00 ELECTRICA Las Avestruces 24.07801 -104.5558 178
3740 6 56 20 83.77 MECATRONICA Las Avestruces 24.07801 -104.5558 268
2335 3 51 28 84.17 ELECTRICA Las Avestruces 24.07801 -104.5558 179
1923 8 172 29 78.36 CIVIL Las Avestruces 24.07801 -104.5558 154
82 7 155 35 89.29 SISTEMAS Las Avestruces 24.07801 -104.5558 10
3345 2 27 24 88.33 INDUSTRIAL Las Avestruces 24.07801 -104.5558 247
2471 3 24 26 80.50 ELECTRICA Las Avestruces 24.07801 -104.5558 190
muestraloc5 <- sample(loc5, round(n * frloc5, 0))
kable(muestraloc5, caption = paste("La muestra de alumnos de Localidad ",tabla_frec$Category[5] ))
La muestra de alumnos de Localidad Mauricio Alvarado Rodríguez
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud orig.id
5873 6 130 34 87.93 ADMINISTRACION Mauricio Alvarado Rodríguez 24.20076 -104.5659 345
68 10 227 8 81.96 SISTEMAS Mauricio Alvarado Rodríguez 24.20076 -104.5659 9
894 1 NA 26 0.00 ARQUITECTURA Mauricio Alvarado Rodríguez 24.20076 -104.5659 51
4049 3 53 27 83.33 MECATRONICA Mauricio Alvarado Rodríguez 24.20076 -104.5659 239
3484 5 108 29 82.50 MECANICA Mauricio Alvarado Rodríguez 24.20076 -104.5659 212
3195 7 72 32 87.82 INDUSTRIAL Mauricio Alvarado Rodríguez 24.20076 -104.5659 195
muestraloc6 <- sample(loc6, round(n * frloc6, 0))
kable(muestraloc6, caption = paste("La muestra de alumnos de Localidad ",tabla_frec$Category[6] ))
La muestra de alumnos de Localidad Rancho el Doce
Alumno Semestre Cr. Apr. Carga Promedio Carrera localidad latitud longitud orig.id
1446 3 52 30 94.75 BIOQUIMICA Rancho el Doce 24.01974 -104.5652 80
1343 3 18 15 75.00 BIOQUIMICA Rancho el Doce 24.01974 -104.5652 73
614 3 52 28 87.25 ARQUITECTURA Rancho el Doce 24.01974 -104.5652 33
3293 5 76 18 79.71 INDUSTRIAL Rancho el Doce 24.01974 -104.5652 177
4284 3 56 30 90.58 QUIMICA Rancho el Doce 24.01974 -104.5652 238
4.2.4.4.1 Visualizar con mapas
  • Cargar la librerías para mapas previamente
  • Usando los valores de latitud y longitud
map<-leaflet() %>%
  addTiles() %>%
  addMarkers(lat=localidades6$Lat_Decimal[1],lng=localidades6$Lon_Decimal[1] ,popup = localidades6$Nom_Loc[1]) %>%
   addMarkers(lat=localidades6$Lat_Decimal[2],lng=localidades6$Lon_Decimal[2] ,popup=localidades6$Nom_Loc[2]) %>%
   addMarkers(lat=localidades6$Lat_Decimal[3],lng=localidades6$Lon_Decimal[3] ,popup=localidades6$Nom_Loc[4]) %>%
   addMarkers  (lat=localidades6$Lat_Decimal[5],lng=localidades6$Lon_Decimal[5] ,popup=localidades6$Nom_Loc[5]) %>%
   addMarkers  (lat=localidades6$Lat_Decimal[6],lng=localidades6$Lon_Decimal[6] ,popup=localidades6$Nom_Loc[6])
# Mostrar el mapa 
map

4.2.5 Interpretación de tipos de muestreo

Pendiente

Referencias Bibliográficas

Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008. Estadística Para Administración y Economía. 10th ed. Australia • Brasil • Corea • España • Estados Unidos • Japón • México • Reino Unido • Singapur: Cengage Learning,.
Lind, Douglas, William Marchal, and Samuel Wathen. 2015. Estadística Aplicada a Los Negocios y La Economía. Decimo Sexta. México, D.F.: McGraw-Hill.