18 mar 2019

Introducción a la econometría de Wooldridge: ejercicios resueltos en R. Capítulo 1


C1.1. Para este ejercicio emplee la base de datos WAGE1.RAW.

> install.packages(“wooldridge”)
> library(wooldridge)
> attach(wage1)
> ??wage1

i) Determine el nivel educativo promedio de la muestra. ¿Cuáles son los niveles de educación menor y mayor?

> mean(educ)
[1] 12.56274
> summary(educ)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   0.00   12.00   12.00   12.56   14.00   18.00

ii) Determine el salario promedio por hora (wage) en la muestra. ¿Parece ser alto o bajo?

> mean(wage)
[1] 5.896103

iii) Los datos de los salarios están dados en dólares de 1976. Usando el Economic Report of the President (de 2004 o posterior o el Informe de Gobierno en países de habla hispana) obtenga y dé los índices de precios al consumidor (IPC) correspondientes a 1976 y 2003.

iv) Use los valores de los IPC del inciso iii) para determinar el salario promedio por hora en dólares de 2003. ¿Parece ahora más razonable el salario promedio por hora?

# Buscar el IPC correspondiente a cada uno de los años del problema y actualizar el salario.

v) ¿Cuántas mujeres (females) hay en la muestra? ¿Cuántos hombres?

> #mujeres
> sum(female)
[1] 252
>
> #hombres
> length(female)-sum(female)
[1] 274

C1.2. Para responder estas preguntas emplee la base de datos BWGHT.RAW.

i) ¿Cuántas mujeres hay en la muestra (male = 0) y cuántas de las informantes fumaron durante un embarazo?

> table(male)
male
  0   1
665 723

Pero, dado que todas las observaciones son mujeres, la pregunta sería cuantas mujeres tuvieron hijas. Para saber el total de observaciones en la muestra:

> length(male)
[1] 1388
> length(male[cigs>=1])
[1] 212

ii) ¿Cuál es la cantidad promedio de cigarros consumidos por día (cigs)? ¿Es el promedio,
en este caso, una medida representativa de la mujer “típica”? Explique.

> mean(cigs)
[1] 2.087176


Estudiar la asimetría de la serie, así como la presencia de valores atípicos influyentes, ayudan a identificar la validez o no de la media como medida representativa de las series.

> summary(cigs[male==0])
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   0.00    0.00    0.00    2.09    0.00   40.00

> hist(cigs)


Aunque, independientemente a las propiedades estadísticas de las series, se puede verificar que el 84% de las mujeres no consumieron cigarrillos durante el embarazo. Por lo que, el promedio no sería un indicador adecuado.

> mean(cigs==0)
[1] 0.8472622

> table(cigs)
cigs
   0    1    2    3    4    5    6    7   
1176    3    4    7    9   19    6    4    ...

iii) Entre las mujeres que fumaron durante el embarazo, ¿cuál es la cantidad promedio de
cigarros consumidos por día? ¿Cuál es la relación de esto con su respuesta al inciso ii) y
por qué?

> mean(cigs[cigs>=1])
[1] 13.66509

iv) Determine el promedio de fatheduc (años de educación del padre) en la muestra. ¿Por
qué se emplean sólo 1,192 observaciones para calcular este promedio?

Para calcular los años promedio de educación del padre, es necesario indicarle al programa que el vector tiene valores perdidos (na.rm = TRUE).

> mean(fatheduc, na.rm = TRUE)
[1] 13.18624

Tabulando los resultados, se verifica que se utiliza esta cantidad de observaciones porque son las únicas disponibles. Las demás corresponden a valores perdidos.

> table(is.na(fatheduc))

FALSE  TRUE
 1192   196

v) Dé el ingreso familiar promedio (famine) y su desviación estándar en dólares.

> mean(faminc)
[1] 29.02666


> sd(faminc)
[1] 18.73928

C1.3. Los datos de MEAP01.RAW pertenecen al estado de Michigan en el año 2001. Emplee estos datos para contestar las preguntas siguientes.

> #Borra todos los objetos en memoria
> rm(list=ls())

> attach(meap01)

i) Determine los valores mayor y menor de math4. ¿Es lógico este intervalo? Explique.

> ??meap01
> # math4: percent students satisfactory, 4th grade math

> summary(math4)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   0.00   61.60   76.40   71.91   87.00  100.00

ii) ¿Cuántas escuelas tienen una tasa perfecta de aprobados en el examen de matemáticas?
¿A qué porcentaje del total de la muestra corresponde esta cantidad?

> # Escuela con porcentaje completos de aprobados
> sum(math4==100)
[1] 38

> # Porcentaje de escualas
> mean(math4==100)
[1] 0.02084476

iii) ¿En cuántas escuelas la tasa de aprobados en matemáticas es exactamente 50%?

> sum(math4==50)
[1] 17

iv) Compare el promedio de las tasas de aprobados en matemáticas y en lectura. ¿Cuál de estas pruebas es más difícil de aprobar?

> apply(cbind(math4, read4), 2, mean)
   math4    read4
71.90900 60.06188

v) Encuentre la correlación entre math4 y read4. ¿Qué concluye?

> cor(math4, read4)
[1] 0.8427281

vi) La variable exppp es gasto por alumno. Determine el promedio y la desviación estándar
de exppp. ¿Parece haber una gran variación en el gasto por alumno?

> coef_var<-sd(exppp)/mean(exppp)
> coef_var
[1] 0.2101863

vii) Suponga que la escuela A gasta 6 000 dólares por alumno y la escuela B gasta 5 000 dólares por alumno. Dé el porcentaje en el que el gasto de la escuela A supera al gasto de la escuela B. Compare este porcentaje con 100 · [log(6 000) – log(5 500)], que es la diferencia porcentual aproximada basada en la diferencia de los logaritmos naturales. (Veáse la sección A.4 del apéndice A.)

> cat("Lo supera en \n",((6000-5000)/5000)*100, "\n")
Lo supera en
 20
> 100*(log(6000)-log(5000))
[1] 18.23216

C1.4. La base de datos de JTRAIN2.RAW proviene de un experimento de capacitación para el trabajo realizado para hombres con bajos ingresos durante 1976-1977; véase Lalonde (1986).

> rm(list=ls())
> attach(jtrain2)

i) Emplee la variable indicadora train para determinar la proporción de hombres a los que se les dio capacitación para el trabajo.

> mean(train)
[1] 0.4157303

ii) La variable re78 es ingresos desde 1978, dados en dólares de 1982. Determine el promedio de re78 para la muestra de hombres a los que se les dio capacitación laboral y para la muestra de hombres a los que no se les dio. ¿Es esta diferencia económicamente grande?

> tapply(re78, train, mean)
       0        1
4.554802 6.349145

Hacer un test t, de comparación de medias. Claramente, a partir del p-valor, se rechaza la hipótesis nula de que las medias sean iguales.

> t.test(re78[train==1],re78[train==0])

     Welch Two Sample t-test

data:  re78[train == 1] and re78[train == 0]
t = 2.6741, df = 307.13, p-value = 0.007893
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 0.4740108 3.1146754
sample estimates:
mean of x mean of y
 6.349145  4.554802

iii) La variable unem78 indica si un hombre estuvo desempleado o no en 1978. ¿Qué proporción de los hombres a los que se les dio capacitación para el trabajo están desempleados? ¿Y de aquellos a los que no se les dio capacitación laboral? Comente la diferencia.

> tapply(unem78, train, mean)
        0         1
0.3538462 0.2432432

iv) Con base en los incisos ii) y iii), ¿parece haber sido efectivo el programa de capacitación laboral? ¿Qué haría que nuestra conclusión fuera más convincente?

Basados en que las diferencias entre promedios de ingresos y menor proporción de desempleo son estadísticamente significativas, es importante destacar que estas comparaciones no han considerado la evolución de otros factores externos que pudiesen influir en los resultados y que deberían ser considerados, además de poder garantizar la equivalencia entre los grupos, para que estas comparaciones, antes/después, puedan ser válidas.

Recodificación de variables usando dplyr en R

Una base de datos suele tener diversos tipos de variables del tipo cualitativo y cuantitativo. En función del tipo de variables aplicamos di...