Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U2EST_T2
ESTADÍSTICA
UNIDAD 2: TAREA 2
1. Un entusiasta de las caminatas tiene una nueva aplicación para su teléfono inteligente que resume sus
caminatas usando un dispositivo GPS. Veamos la distancia recorrida (en km) y la altitud máxima (en m) durante
las últimas 10 caminatas:
Ya que la distancia tiene una media mayor que la mediana, y que ambas están mas cerca del tercr cuartil, se cree
que la distribucion es asimetrica positiva.
De forma similar, la media es mayor que la mediana pero en este caso están mas cercanas al primer cuartil que al
tercero asi que la distribucion es asimetrica negativa. d) Calcule el rango
## [1] 5.325
## [1] 4.844
## [1] 6.790811
## [1] "Los estadisticos para altitud son:"
1
Datos del alumno Fecha
## [1] 349.5
## [1] 234.68
## [1] 302.4244
mean(altitud*3.28)
## [1] 2008.672
f) Dibuje e interprete
0.4
0.2
0.0
−0.2
−0.4
10 15 20 25 30
distancia
2
Datos del alumno Fecha
0.4
0.2
0.0
−0.2
−0.4
250 500 750 1000 1250
altitud
Se nota la presencia de datos atípicos en la distancia, y que la suposición de asimetrias positiva y negativa se cumplen
en ese orden para las variables ■.
2. El conjunto rankingconstruccion contiene los datos del año 2018 de las empresas que se dedican al sector de
la construcción. La revista Vistazo elabora cada año un ranking de las empresas por cada sector de la
producción al que pertenecen las empresas y un ranking general. Investigue el uso de la función top_n y con
la ayuda de esta función seleccione las primeras 500 empresas de acuerdo a la utilidad, almacene estos
resultados en el un conjunto llamado rank500 construccion y de este conjunto de datos, realice los siguientes
ejercicios:
rank500_construccion$UTILIDAD %>%
fdt(breaks="Sturges") %>% print()
3
Datos del alumno Fecha
dosapost<-rank500_construccion %>%
filter(UTILIDAD<100) %>% select(UTILIDAD) %>% fdt(breaks="Sturges")
dosapost$UTILIDAD$table %>% kable()
rank500_construccion$VENTAS%>%
fdt(breaks="Sturges") %>% print()
4
Datos del alumno Fecha
doscpost<-rank500_construccion %>%
filter(VENTAS>-1e6 & VENTAS<5e6) %>%
select(VENTAS) %>% fdt(breaks="Sturges")
doscpost$VENTAS$table %>% kable()
f rf(%) cf
cf(%)
[-821203.73,-277393.975) 4 0.0078431 0.7843137 4 0.7843137
[-277393.975,266415.78) 429 0.8411765 84.1176471 433 84.9019608
[266415.78,810225.535) 47 0.0921569 9.2156863 480 94.1176471
[810225.535,1354035.29) 13 0.0254902 2.5490196 493 96.6666667
[1354035.29,1897845.045) 3 0.0058824 0.5882353 496 97.2549020
[1897845.045,2441654.8) 5 0.0098039 0.9803922 501 98.2352941
Class limits f rf rf(%) cf cf(%)
[2441654.8,2985464.555) 2 0.0039216 0.3921569 503
98.6274510
[2985464.555,3529274.31) 2 0.0039216 0.3921569 505
99.0196078
[3529274.31,4073084.065) 3 0.0058824 0.5882353 508
99.6078431
[4073084.065,4616893.82) 2 0.0039216 0.3921569 510
100.000000
0
d) Elabore una tabla de contingencia que relacione el tamaño de la empresa con la región a la que pertenece la
empresa.
tab<-rank500_construccion %>%
filter(REGION!=',') %>%
select(TAMANO,REGION) %>% table() tab<-
cbind(tab, Total=rowSums(tab)) tab<-
rbind(tab, Total=colSums(tab)) kable(tab)
GRANDE 12 0 11 0 0 23
MEDIANA 23 0 24 0 0 47
PEQUENA 80 0 98 13 1 192
MICROEMPRESA 112 0 122 21 1 256
Total 227 0 255 34 2 518
e) Construya un diagrama de barras de las empresas por tamaño
5
Datos del alumno Fecha
200
TAMANO
GRANDE
MEDIANA
PEQUENA
100
MICROEMPRESA
6
Datos del alumno Fecha
200
REGION
SIERRA
COSTA
ORIENTE
100
GALAPAGOS
g) Determine las medidas de tendencia central y de dispersión de las ventas de acuerdo a la región, almacene los
resultados en una tabla llamada ventasconstruccion y guarde sus resultados en una hoja de cálculo.
ventasconstruccion <- rank500_construccion %>%
group_by(REGION) %>% filter(REGION!=",") %>%
summarize( media=mean(VENTAS),
desvest=sd(VENTAS), varianza=var(VENTAS),
IQR=IQR(VENTAS),
CV=sd(VENTAS)/mean(VENTAS),
Q1=quantile(VENTAS,0.25), Q2=median(VENTAS),
Q3=quantile(VENTAS,0.75) )
#write_excel_csv(ventasconstruccion,'ventasconstruccion.csv')
rank500_construccion %>%
group_by(TIPO) %>% summarize(
7
Datos del alumno Fecha
Q1=quantile(UTILIDAD,0.25), Q2=median(UTILIDAD),
Q3=quantile(UTILIDAD,0.75)
) %>%
kable()
TIPO Q1 Q2 Q3
ASOCIACION O CONSORCIO 129057228.0 129057228 129057228
ANONIMA 89.0 94 98
SUCURSAL EXTRANJERA 93.5 96 6250085
RESPONSABILIDAD LIMITADA 91.0 95 99
i) Elabore el diagrama de caja de las utilidades
0.4
0.2
0.0
−0.2
−0.4
0e+00 5e+07 1e+08
UTILIDAD
Se nota que el primer y tercer cuartil se confunden entre sí por la presencia de varios datos atípicos. Al removerlos,
se obtiene el siguiente diagrama de caja.
rank500_construccion %>% filter(UTILIDAD < 100)
%>%
ggplot()+geom_boxplot(aes(x=UTILIDAD))
8
Datos del alumno Fecha
0.4
0.2
0.0
−0.2
−0.4
88
92
96
UTILIDAD
rank500_construccion %>%
ggplot(aes(x=UTILIDAD, fill=TIPO))+ geom_boxplot()+facet_wrap(~TIPO)
9
Datos del alumno Fecha
10
Datos del alumno Fecha
0.2
0.0
−0.2
−0.4
88 92 96 88 92 96 88 92 96
UTILIDAD
rank500_construccion %>%
filter(TIPO=="ASOCIACION O CONSORCIO") %>% select(EXPEDIENTE,TIPO,UTILIDAD)
%>%
kable()
a) Cargar cada conjunto de datos por separado, almacenando cada conjunto en una variable que usted decida.
b) Unir los conjuntos de datos en un solo conjunto, para esto debe utilizar la función rbind(). Investigue el uso de
esta función y utilícela para formar un único conjunto de datos.
c) Con ayuda de la función top_n( ) seleccione las primeras 500 empresas de acuerdo a la utilidad. Guarde este
ranking en un conjunto llamado ranking2018todos. Con el conjunto ranking2018todos se pide:
1) Calcular las medidas de tendencia central y dispersión por sector de las utilidades.
11
Datos del alumno Fecha
ranking2018todos %>%
group_by(SECTOR) %>% summarize(
media=mean(UTILIDAD),
desvest=sd(UTILIDAD),
varianza=var(UTILIDAD),
IQR=IQR(UTILIDAD),
CV=sd(UTILIDAD)/mean(UTILIDAD),
Q1=quantile(UTILIDAD,0.25), Q2=median(UTILIDAD),
Q3=quantile(UTILIDAD,0.75)
) %>%
kable()
D1 D2 D3 D4 D5 D6 D7 D8 D9
12
Datos del alumno Fecha
SECTOR D1 D2 D3 D4 D5 D6 D7 D8 D9
SOCIETARIO 135462.1 208718.8 363368.9 542351.4 920653.5 1851666 4061290 14884681 45329168
MERCADO 1589967.5 4916635.0 27919638.561305359.063521397.5154011840203646330434996659591363580
DE
VALORES
tabt<-ranking2018todos %>%
select(SECTOR,TAMANO) %>% table() tabt<-cbind(tabt,
Total=rowSums(tabt)) tabt<-rbind(tabt, Total=colSums(tabt))
kable(tab)
GRANDE 12 0 11 0 0 23
MEDIANA 23 0 24 0 0 47
PEQUENA 80 0 98 13 1 192
MICROEMPRESA 112 0 122 21 1 256
Total 227 0 255 34 2 518
5) ¿De qué ciudad son la mayoría de empresas del ranking?.
Elabore una tabla de frecuencia de las empresas por ciudad.
rank500_construccion %>% count(CIUDAD)
%>%
mutate(
cfr=100*n/519, cfa=cumsum(n),
cfra=100*cumsum(n)/519) %>% kable()
13
Datos del alumno Fecha
14
Datos del alumno Fecha
15
Datos del alumno Fecha
16
Datos del alumno Fecha
rank500_construccion %>%
count(SECTOR)
## # A tibble: 1 x 2
## SECTOR n
## <fct> <int>
## 1 SOCIETARIO 519
Idealmente, una pizza llega dentro de los 30 minutos posteriores a la llamada; si tarda más de 40 minutos, se promete
a los clientes una botella de vino gratis (aunque no siempre se entrega). La temperatura de la pizza debe estar por
encima de los 65 oC en el momento de la entrega. El análisis de los datos tiene como objetivo determinar los factores
que influyen en el tiempo de entrega y la temperatura de las pizzas.
17
Datos del alumno Fecha
a) Calcule la media, la mediana, el mínimo, el máximo, el primer cuartil y el tercer cuartil para todas las variables
cuantitativas.
ptime<- pizza %>% summarize(
media=mean(time),
mediana=median(time),
min=min(time),
max=max(time),
Q1=quantile(time,0.25),
Q3=quantile(time,0.75)
) ptemperature<- pizza %>%
summarize( media=mean(temperature),
mediana=median(temperature),
min=min(temperature),
max=max(temperature),
Q1=quantile(temperature,0.25),
Q3=quantile(temperature,0.75)
) pbill<- pizza %>%
summarize( media=mean(bill),
mediana=median(bill),
min=min(bill), max=max(bill),
Q1=quantile(bill,0.25),
Q3=quantile(bill,0.75)
) ppizzas<-pizza %>%
summarize( media=mean(pizzas),
mediana=median(pizzas),
min=min(pizzas),
18
Datos del alumno Fecha
max=max(pizzas),
Q1=quantile(pizzas,0.25),
Q3=quantile(pizzas,0.75)
) pfwine <-pizza %>% summarize(
media=mean(free_wine),
mediana=median(free_wine),
min=min(free_wine),
max=max(free_wine),
Q1=quantile(free_wine,0.25),
Q3=quantile(free_wine,0.75)
) pgwine <-pizza %>% summarize(
media=mean(got_wine),
mediana=median(got_wine),
min=min(got_wine),
max=max(got_wine),
Q1=quantile(got_wine,0.25),
Q3=quantile(got_wine,0.75)
) pdc <-pizza %>% summarize(
media=mean(discount_customer),
mediana=median(discount_customer),
min=min(discount_customer),
max=max(discount_customer),
Q1=quantile(discount_customer,0.25),
Q3=quantile(discount_customer,0.75)
) resumen<-rbind(ptime,ptemperature,pbill,ppizzas,pfwine,pgwine,pdc)
resumen<-cbind(colnames(pizza[,c(3,7:12)]),resumen)
kable(resumen)
P99time P99temperature
19
Datos del alumno Fecha
48.61677 79.87
Ambos datos representan el número del que, una vez ordenados de forma creciente, se pueden obtener el 99 de los
datos.
0.4
0.2
0.0
−0.2
−0.4
20 30 40 50
time
20
Datos del alumno Fecha
0.4
0.2
0.0
−0.2
−0.4
40 50 60 70 80
temperature
21
Datos del alumno Fecha
22