muestrame el nombre de las columnas
names(sere19) # nombres columna en el objeto
## [1] "FECHA" "DÃ.A" "MES" "MODALIDAD" "MEDIO"
## [6] "DIRECCIÃ.N"
str(sere19) # sera numero? texto? o factor?
## 'data.frame': 3414 obs. of 6 variables:
## $ FECHA : chr "01/01/2019 0:01" "01/01/2019 0:07" "01/01/2019 0:17" "01/01/2019 0:25" ...
## $ DÃ.A : int 3 3 3 3 3 3 3 3 3 3 ...
## $ MES : int 1 1 1 1 1 1 1 1 1 1 ...
## $ MODALIDAD : chr NA "Patrullaje Disuasivo" NA NA ...
## $ MEDIO : chr "TELÃâ°FONO" "TELÃâ°FONO" "TELÃâ°FONO" "TELÃâ°FONO" ...
## $ DIRECCIÃ.N: chr "AV. DOS DE MAYO Nð 0864, SAN ISIDRO" "CA. GARCIA, GODOFREDO Nð 0490, SAN ISIDRO" "CA. LOS ROBLES Nð 210234, SAN ISIDRO" "CA. BURGOS Nð 0179, SAN ISIDRO" ...
# simple exploración con función table:
table(sere19$MODALIDAD)
##
## Conminar / Retirar Exceso de velocidad
## 151 33
## Falla mecánica Imprudencia del conductor
## 5 66
## Patrullaje Disuasivo
## 103
# tabla de frecuencias avanzada
library(questionr)
## Warning: package 'questionr' was built under R version 3.5.3
library(magrittr)
## Warning: package 'magrittr' was built under R version 3.5.3
NomDf=freq(sere19$MODALIDAD,total = F,sort = 'dec',exclude = c(NA)) %>% data.frame()
NomDf=data.frame(variable=row.names(NomDf),NomDf,row.names = NULL)
# viendo a NomDf
NomDf
## variable n X.
## 1 Conminar / Retirar 151 42.2
## 2 Patrullaje Disuasivo 103 28.8
## 3 Imprudencia del conductor 66 18.4
## 4 Exceso de velocidad 33 9.2
## 5 Falla mecánica 5 1.4
library(ggplot2) # instalar previamente
## Warning: package 'ggplot2' was built under R version 3.5.3
# en base solo se pone: en data como se llama la tabla de frecuencias
# y en aes la variable 'x' para los nombres y la 'y' para los conteos.
base = ggplot(data=NomDf,aes(x=variable,y=n))
# luego a la base se le pide añadir la 'geometria' deseada:
bar1 = base + geom_bar(stat='identity')
# aqui resultado:
bar1

bar1 = bar1 + scale_x_discrete(limits = NomDf$variable)
bar1

text1="¿Qué acción es mas común?"
text2="Acción"
text3="Conteo"
text4="Fuente: Municipalidad de San Isidro"
bar2= bar1 + labs(title=text1,
x =text2,
y = text3,
caption = text4)
bar2

bar2 + theme_classic() +
theme(plot.title = element_text(hjust = 0.5,size=15), # centrar y agrandar
plot.caption = element_text(hjust = 0), # a la derecha
axis.text.x = element_text(angle=45,hjust = 1)) # angulo

library(qcc) # instalar antes
## Warning: package 'qcc' was built under R version 3.5.3
## Package 'qcc' version 2.7
## Type 'citation("qcc")' for citing this R package in publications.
pareto.chart(table(sere19$MODALIDAD),cumperc = c(0,50,80,100))

##
## Pareto chart analysis for table(sere19$MODALIDAD)
## Frequency Cum.Freq. Percentage Cum.Percent.
## Conminar / Retirar 151.000000 151.000000 42.178771 42.178771
## Patrullaje Disuasivo 103.000000 254.000000 28.770950 70.949721
## Imprudencia del conductor 66.000000 320.000000 18.435754 89.385475
## Exceso de velocidad 33.000000 353.000000 9.217877 98.603352
## Falla mecánica 5.000000 358.000000 1.396648 100.000000
library(DescTools)
## Warning: package 'DescTools' was built under R version 3.5.3
Mode(sere19$MODALIDAD)
## [1] NA
## attr(,"freq")
## [1] 3056
dataTable=table(sere19$MODALIDAD)
# * < 0.01 : indica que la moda no es significativa, las categorias tienen pesos similares.
# * < 0.15 : indica que la moda no es significativa, varias categorias tienen pesos similares.
# * entre 0.15 - 0.3: hay una moda.
# * > 0.3: La moda se diferencia de los demas
Herfindahl(dataTable)
## [1] 0.3033613
1/sum(prop.table(dataTable)**2)
## [1] 3.296399
Median(sere19$DÃ.A)
## [1] 4
OrdDf=freq(sere19$DÃ.A,total = F,exclude = c(NA)) %>% data.frame()
OrdDf=data.frame(variable=row.names(OrdDf),OrdDf,row.names = NULL)
# listo
OrdDf
## variable n X.
## 1 1 352 10.3
## 2 2 443 13.0
## 3 3 513 15.0
## 4 4 583 17.1
## 5 5 597 17.5
## 6 6 492 14.4
## 7 7 434 12.7
base=ggplot(data = OrdDf, aes(x=variable, y=n))
bar= base + geom_bar(stat = 'identity')
bar

pareto.chart(table(sere19$DÃ.A),cumperc = c(0,50,80,100))

##
## Pareto chart analysis for table(sere19$DÃ.A)
## Frequency Cum.Freq. Percentage Cum.Percent.
## 5 597.00000 597.00000 17.48682 17.48682
## 4 583.00000 1180.00000 17.07674 34.56356
## 3 513.00000 1693.00000 15.02636 49.58992
## 6 492.00000 2185.00000 14.41125 64.00117
## 2 443.00000 2628.00000 12.97598 76.97715
## 7 434.00000 3062.00000 12.71236 89.68951
## 1 352.00000 3414.00000 10.31049 100.00000
library(DescTools)
Mode(sere19$DÃ.A)
## [1] 5
## attr(,"freq")
## [1] 597
dataTable=table(sere19$DÃ.A)
# * < 0.01 : indica que la moda no es significativa, las categorias tienen pesos similares.
# * < 0.15 : indica que la moda no es significativa, varias categorias tienen pesos similares.
# * entre 0.15 - 0.3: hay una moda.
# * > 0.3: La moda se diferencia de los demas
Herfindahl(dataTable)
## [1] 0.1467166
1/sum(prop.table(dataTable)**2)
## [1] 6.815862
table(sere19$DÃ.A)
##
## 1 2 3 4 5 6 7
## 352 443 513 583 597 492 434
ggplot(sere19,aes(y=DÃ.A)) + geom_boxplot() + scale_y_discrete(limits=OrdDf$variable)
