Está en la página 1de 10

Taller 2

Estadística I

Fernando López-Torrijos

Agosto de 2020

Instrucciones generales
• Puede hacer la tarea solo o puede asociarse con otra persona, entendiendo que la
calificación del taller sería la misma para ambas personas.

• El reporte final se debe enviar a más tardar el martes 11 de agosto de 2020 a las 11:59
p.m. a la cuenta de correo fltorrijos@yahoo.es

• El archivo del reporte final debe ser un archivo pdf con el siguiente formato: Letra
Calibri, tamaño 12, interlineado sencillo con espacio entre párrafos y texto justificado.
Márgenes: Normal. Tamaño: Carta. Orientación: Vertical.

• Adjuntar también el archivo .Rmd

• El objetivo principal de este trabajo es la práctica en la lectura en R de bases de datos


y demostrar la claridad conceptual. El informe no necesita ser extenso. Lo importante
es que se observe que ha entendido cómo manejar R.

• Cualquier evidencia de plagio o copia se castigará tal y como el reglamento de la


Universidad Externado lo estipula.
Si está claro que (por ejemplo) dos grupos han trabajado juntos en una parte de un problema
que vale 20 puntos, y cada respuesta habría ganado 16 puntos (si no hubiera surgido de una
colaboración ilegal), entonces cada grupo recibirá 8 de los 16 puntos obtenidos colectivamente
(para una puntuación total de 8 sobre 20 posibles), y me reservo el derecho de imponer
penalidades adicionales a mi discreción.
Si un grupo resuelve un problema por su cuenta y luego comparte su solución con cualquier
otro grupo (porque rutinariamente usted lo hace, o por lástima, o bondad, o por cualquier
motivo que pueda creer tener; no importa!), usted es tan culpable de colaboración ilegal
como la persona que tomó su solución, y ambos recibirán la misma penalidad. Este tipo de
cosas es necesario hacerlas ya que muchas personas no hacen trampa, y debo asegurarme de

1
que sus puntajes son obtenidos de manera genuina.
Personas han perdido la clase debido a una colaboración ilegal; no deje que le suceda a usted!
En este taller usted aprenderá a:
• Cargar archivos desde Excel.

• cargar archivos planos tipo .csv

• Armar tablas de frecuencias.

Preparación.
(No otorga puntos)
En Rstudio especifique que quiere crear un nuevo Proyecto (File –> New Project). Decida
si lo hace a partir de un nuevo directorio o uno ya existente. Sea el nombre de este proyecto
“Estadística I”. Todos los trabajos del curso se harán dentro de este proyecto. Permite que
no tenga que configurar el directorio donde va a trabajar.
Seleccione que quiere generar un nuevo archivo R markdown.
Si va a generar directamente en formato .pdf, añada en el encabezado, entre el par de trios
de guiones (---), las siguientes instrucciones:
geometry: margin=1in
mainfont: Calibri
fontsize: 12pt
El archivo .Rmd debe ser entregado.

2
Punto 1. (20%)
Debe instalar el paquete readxl para poder leer un archivo excel.
Hay dos maneras de hacerlo:
A. Vía ratón y botones:
Pestaña Packages –> Botón Install –> readxl –> Install
b. Vía código:
install.packages(’readxl’)

Descargue del dropbox de Estadística I el archivo “Consulta General Sociedades Superinten-


dencia Sociedades.xlsx”.
Hay dos maneras de hacerlo:
A. Vía ratón y botones:
Pestaña Packages –> Buscal readxl –> Checkmark en el cuadrado gris.
Pestaña Environment –> Botón Import Dataset –> From Excel –> Browse –> Import).
B. Vía código:
library(readxl)

archivo <- "C:/Users/Fernando/Documents/Docencia/Externado/2020-2/BD/Consulta General So


sociedades <- read_xlsx(path = archivo, trim_ws = TRUE)

¿Para qué sirve la opción trim_ws = TRUE? Se puede saber si en la consola


escribe help(read_xlsx)
Para observar las características de las variables de la base de datos, se puede utilizar, por
ejemplo, el comando summary():
summary(sociedades)

## NIT Razón Social Tipo Societario Objeto Social


## Min. :800000090 Length:22025 Length:22025 Length:22025
## 1st Qu.:816002913 Class :character Class :character Class :character
## Median :860508679 Mode :character Mode :character Mode :character
## Mean :858740922
## 3rd Qu.:900241695
## Max. :901015072
## CIIU Actividad CIIU Dir Judicial Ciudad Judicial
## Length:22025 Length:22025 Length:22025 Length:22025
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##

3
##
##
## Dpto Judicial Teléfono1 Dir Domicilio Ciudad Domicilio
## Length:22025 Length:22025 Length:22025 Length:22025
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Dpto Domicilio Apartado Aereo Fax EMail
## Length:22025 Length:22025 Length:22025 Length:22025
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Estado Fecha Estado Situación Fecha Situación
## Length:22025 Length:22025 Length:22025 Length:22025
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Etapa Situación Fecha Etapa Situación
## Length:22025 Length:22025
## Class :character Class :character
## Mode :character Mode :character
##
##
##
La mayoría son variables de tipo character. Están mal clasificadas. NIT debería ser nominal,
al igual que Tipo Societario y muchas otras. También hay un par de variables que deberían
ser fecha.
Aprenderemos a convertir en nominales algunas:
sociedades$‘Tipo Societario‘ <- factor(sociedades$‘Tipo Societario‘)
sociedades$Estado <- factor(sociedades$Estado)
sociedades$‘Situación‘ <- factor(sociedades$‘Situación‘)
sociedades$‘Etapa Situación‘ <- factor(sociedades$‘Etapa Situación‘)

Observe que las variables que tienen espacios o tildes se colocan entre un par de
comillas especiales : ‘ (El mismo con que inician los chunks de código)
A cada variable se le asignó una conversión sobre sí misma. El comando factor()
permite que R identifique dicha variable como nominal.

4
Si de nuevo llama al comando summary(), se presentan estas cuatro variables de
manera diferente a la vez pasada.
summary(sociedades)

## NIT Razón Social Tipo Societario


## Min. :800000090 Length:22025 S A S :11858
## 1st Qu.:816002913 Class :character ANONIMA : 5455
## Median :860508679 Mode :character LIMITADA : 2893
## Mean :858740922 S.C.A. : 727
## 3rd Qu.:900241695 SUCURSAL EXTRANJERA: 608
## Max. :901015072 S.en.C. : 405
## (Other) : 79
## Objeto Social CIIU Actividad CIIU Dir Judicial
## Length:22025 Length:22025 Length:22025 Length:22025
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## Ciudad Judicial Dpto Judicial Teléfono1 Dir Domicilio
## Length:22025 Length:22025 Length:22025 Length:22025
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## Ciudad Domicilio Dpto Domicilio Apartado Aereo Fax
## Length:22025 Length:22025 Length:22025 Length:22025
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## EMail Estado Fecha Estado
## Length:22025 CANCELADA : 64 Length:22025
## Class :character CONTROL : 41 Class :character
## Mode :character EXENTA : 14 Mode :character
## INSPECCION:14301
## VIGILANCIA: 7605
##
##

5
## Situación Fecha Situación
## ACTIVA :21160 Length:22025
## REORGANIZACION : 519 Class :character
## ACUERDO DE REESTRUCTURACION: 98 Mode :character
## CANCELADA : 64
## VALIDACION JUDICIAL : 64
## LIQUIDACIÓN VOLUNTARIA : 63
## (Other) : 57
## Etapa Situación Fecha Etapa Situación
## ACTIVA :21159 Length:22025
## ACUERDO CONFIRMADO: 322 Class :character
## ADMISION : 108 Mode :character
## FIRMADO : 98
## NEGOCIACION : 79
## CANCELADA : 64
## (Other) : 195
Para generar una tabla de cuántos casos hay por cada factor (frecuencia absoluta) se utiliza
el comando table():
Tabla <- table(sociedades$‘Tipo Societario‘)

Para saber qué proporción representa cada caso sobre el total (frecuencia relativa) se utiliza
el comando prop.table() sobre la tabla:
prop.table(Tabla)

##
## ANONIMA COLECTIVA LIMITADA S A S
## 0.2476730988 0.0002724177 0.1313507378 0.5383881952
## S.C.A. S.en.C. SUCURSAL EXTRANJERA UNIPERSONAL
## 0.0330079455 0.0183881952 0.0276049943 0.0033144154
A veces es conveniente observar las frecuencias acumuladas. Para la variable Tipo Societario
no tiene sentido, pero utilicémola para aprender cómo hacerlo. Genere una nueva variable
con el comando cumsum():
TablaAcumulada <- cumsum(Tabla)

Observémosla junto con los datos individuales:


Tabla

##
## ANONIMA COLECTIVA LIMITADA S A S
## 5455 6 2893 11858
## S.C.A. S.en.C. SUCURSAL EXTRANJERA UNIPERSONAL
## 727 405 608 73

6
TablaAcumulada

## ANONIMA COLECTIVA LIMITADA S A S


## 5455 5461 8354 20212
## S.C.A. S.en.C. SUCURSAL EXTRANJERA UNIPERSONAL
## 20939 21344 21952 22025
A cada variable nominal le suma el acumulado de las anteriores.
Incluso se podría realizar una tabla acumulada porcentual:
TablaAcumuladaPorc <- cumsum(Tabla)/sum(Tabla)
# O lo que es lo mismo:
# TablaAcumuladaPorc <- TablaAcumulada/sum(Tabla)
TablaAcumuladaPorc

## ANONIMA COLECTIVA LIMITADA S A S


## 0.2476731 0.2479455 0.3792963 0.9176844
## S.C.A. S.en.C. SUCURSAL EXTRANJERA UNIPERSONAL
## 0.9506924 0.9690806 0.9966856 1.0000000
R proporciona varias librerías para hacer automáticamente esto. Por ejemplo la librería
summarytools (debe instalarla):
library(summarytools)

## Registered S3 method overwritten by ’pryr’:


## method from
## print.bytes Rcpp
summarytools::freq(sociedades$‘Tipo Societario‘)

## Frequencies
## sociedades$‘Tipo Societario‘
## Type: Factor
##
## Freq % Valid % Valid Cum. % Total % Total Cum.
## ------------------------- ------- --------- -------------- --------- --------------
## ANONIMA 5455 24.77 24.77 24.77 24.77
## COLECTIVA 6 0.03 24.79 0.03 24.79
## LIMITADA 2893 13.14 37.93 13.14 37.93
## S A S 11858 53.84 91.77 53.84 91.77
## S.C.A. 727 3.30 95.07 3.30 95.07
## S.en.C. 405 1.84 96.91 1.84 96.91
## SUCURSAL EXTRANJERA 608 2.76 99.67 2.76 99.67
## UNIPERSONAL 73 0.33 100.00 0.33 100.00
## <NA> 0 0.00 100.00
## Total 22025 100.00 100.00 100.00 100.00

7
Debe instalar la librería summarytools antes de intentar que funcione.
a. (8%) Presente un cuadro resumen que contenga al menos la frecuencia absoluta, fre-
cuencia relativa, frecuencia absoluta acumulada y frecuencia relativa acumulada de la
variable “Estado”.
Una gráfica esta bien realizada si tiene un título que explica qué se presenta, y son claros
tanto el eje horizontal como el vertical. Debajo debe tener un texto que explique de dónde
fue tomada la información.
b. (8%) Complete lo necesario para mejorar la gráfica respecto de la variable “Estado”.
estados <- table(sociedades$Estado)
barplot(estados, main = "", xlab = "", ylab = "",
names.arg = c("Cancelada", "Control", "Exenta", "Inspeccionada", "Vigilancia"),
col = "wheat") # col = ’red’
12000
8000
4000
0

Cancelada Control Exenta Inspeccionada

Para saber cómo hacerlo, debe digitar en la consola help(barplot) y observar los
ejemplos.
El comando barplot() es adecuado para representar variables nominales.
Puede también cambiar los colores. Para ver los colores disponibles, digite en la
consola el comando colors()

8
c. (4%) ¿Qué ocurre si añade la opción las = 2 en el comando barplot()?

Punto 2. (20%)
Descargue del dropbox de Estadística I el archivo “Tasas de empleo total siete áreas
metropolitanas IQY.xlsx”.
archivo <- "C:/Users/Fernando/Documents/Docencia/Externado/2020-2/BD/Tasas de empleo tot
empleo <- read_xlsx(path = archivo, sheet = 1)

a. (2%) Realice un histograma de la tasa de empleo.


help(hist)
El histograma es adecuado para variables contínuas
b. (2%) Realice un histograma de la tasa de desempleo.
c. (4%) Realice un histograma de la suma de las dos tasas. ¿Hay algún periodo en donde
la suma de las dos tasas sea el 100%? Intente explicar por qué.
d. (6%) Realice un plot de la tasa de empleo. ¿En que periodo fue máximo? ¿Cómo lo
determinó?
help(plot).
Coloque como opción (dentro del comando plot()) type = ‘l’.
e. (6%) Realice un plot de la tasa de desempleo. ¿En que periodo fue máximo?

Punto 3. (20%)
Descargue del dropbox de Estadística I el archivo “Serie precios bitcoin.csv”.
archivo <- "C:/Users/Fernando/Documents/Docencia/Externado/2020-2/BD/Serie precios bitco
bitcoin <- read.csv2(file = archivo, sep = ’\t’, stringsAsFactors = FALSE,
encoding = ’UTF-8’, dec = ’.’)
names(bitcoin)[1] <- ’Fecha’

a. (5%) Realice un histograma del cambio porcentual.


b. (5%) ¿Cual es el promedio del cambio porcentual? ¿Cómo lo determinó?
c. (10%) Explique las opciones utilizadas del comando read.csv2 (sep, stringsAsFactors,
encoding, dec)

Punto 4. (20%)
Descargue del dropbox de Estadística I el archivo “Numero de pensionados de Colpensiones
por rango salarial.csv”.

9
archivo <- "C:/Users/Fernando/Documents/Docencia/Externado/2020-2/BD/Numero de pensionad
pensionados <- read.csv2(file = archivo, encoding = ’UTF-8’, sep = ’,’)
names(pensionados)[1] <- ’Rango salarios mínimos’

a. (10%) Busque la manera de presentar en el documento la tabla de pensionados.


b. (10%) ¿Porqué calcular el promedio de la tercera columna daría un valor erróneo?

Punto 5. (20%)
Durante la campaña senatorial de 2004 en un gran estado del suroeste de EEUU, la in-
migración ilegal fue un problema importante. Uno de los candidatos argumentó que los
inmigrantes ilegales hicieron uso de servicios educativos y sociales sin tener que pagar im-
puestos a la propiedad. El otro candidato señaló que el costo de las nuevas viviendas en su
estado era 20 - 30% menor que el promedio nacional debido a los bajos salarios recibidos por
la gran cantidad de inmigrantes ilegales que trabajan en la construcción de nuevas vivien-
das. A una muestra aleatoria de 5.500 votantes registrados se le hizo la pregunta: “¿Son
los inmigrantes ilegales en general un beneficio o una carga para la economía del estado?”
Los resultados fueron los siguientes: 3.500 personas respondieron “carga”, 1.500 personas
respondieron “beneficio” y 500 personas respondieron “incierto”.
a. (5%) ¿Cuál es la población de interés?
b. (5%) ¿Cuál es la población de la que se seleccionó la muestra?
c. (5%) ¿La muestra representa adecuadamente a la población?
d. (5%) Si se selecciona una segunda muestra aleatoria de 5,500 votantes registrados, ¿los
resultados serían casi los mismos que los resultados obtenidos de la muestra inicial de
5,500 votantes? Explica tu respuesta.

10

También podría gustarte