Se llevará acabo un análisis descriptivo de las variables de población de habitantes por Estado en Estados Unidos.
#Librerias a usar
library(tidycensus)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2 ✓ purrr 0.3.4
## ✓ tibble 3.0.3 ✓ dplyr 1.0.2
## ✓ tidyr 1.1.2 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(knitr)
library(leaflet)
library(stringr)
library(sf)
## Linking to GEOS 3.5.1, GDAL 2.2.2, PROJ 4.9.2
census_api_key("14268d2bd655b1555047e870c78ece2ce554c96f")
## To install your API key for use in future sessions, run this function with `install = TRUE`.
v10 <- load_variables(2010, "sf1", cache = TRUE)
v10 <- v10 %>%
filter(grepl("population", tolower(label), fixed = TRUE))
kable(head(v10))
| name | label | concept |
|---|---|---|
| H011001 | Total population in occupied housing units | TOTAL POPULATION IN OCCUPIED HOUSING UNITS BY TENURE |
| H011002 | Total population in occupied housing units!!Owned with a mortgage or a loan | TOTAL POPULATION IN OCCUPIED HOUSING UNITS BY TENURE |
| H011003 | Total population in occupied housing units!!Owned free and clear | TOTAL POPULATION IN OCCUPIED HOUSING UNITS BY TENURE |
| H011004 | Total population in occupied housing units!!Renter occupied | TOTAL POPULATION IN OCCUPIED HOUSING UNITS BY TENURE |
| H011A001 | Population in occupied housing units | TOTAL POPULATION IN OCCUPIED HOUSING UNITS BY TENURE (WHITE ALONE HOUSEHOLDER) |
| H011A002 | Population in occupied housing units!!Owned with a mortgage or a loan | TOTAL POPULATION IN OCCUPIED HOUSING UNITS BY TENURE (WHITE ALONE HOUSEHOLDER) |
Se procede a escoger una de las variables que será el total de población en unidades habitacionales ocupadas cuando son inquilinos.
population <- get_decennial(geography = "state", variables = c(population = "H011004"),
shift_geo = TRUE, geometry = TRUE)
## Getting data from the 2010 decennial Census
## Using feature geometry obtained from the albersusa package
## Please note: Alaska and Hawaii are being shifted and are not to scale.
## Getting data from the 2010 decennial Census
## Using feature geometry obtained from the albersusa package
## Please note: Alaska and Hawaii are being shifted and are not to scale.
kable(head(population))
| GEOID | NAME | variable | value | geometry |
|---|---|---|---|---|
| 04 | Arizona | population | 2118516 | MULTIPOLYGON (((-1111066 -8… |
| 05 | Arkansas | population | 907769 | MULTIPOLYGON (((557903.1 -1… |
| 06 | California | population | 15691211 | MULTIPOLYGON (((-1853480 -9… |
| 08 | Colorado | population | 1590292 | MULTIPOLYGON (((-613452.9 -… |
| 09 | Connecticut | population | 1012238 | MULTIPOLYGON (((2226838 519… |
| 11 | District of Columbia | population | 315456 | MULTIPOLYGON (((1960720 -41… |
pal <- colorNumeric(palette = "PiYG",
domain = population$value)
population %>%
st_transform(crs = "+init=epsg:4326") %>%
leaflet(width = "100%") %>%
addProviderTiles(provider = "CartoDB.Positron") %>%
addPolygons(popup = ~ str_extract(NAME, "^([^,]*)"),
stroke = FALSE,
smoothFactor = 0,
fillOpacity = 0.7,
color = ~ pal(value)) %>%
addLegend("bottomright",
pal = pal,
values = ~ value,
title = "Population",
#labFormat = labelFormat(prefix = "$"),
opacity = 1)
En el mapa anterior se puede evidenciar que el Estado en donde la gran cantidad de población que ocupa por unidades de casas rentadas es california (color verde)y que entre más oscuro el tono rosado hay menos cantidad de personas que habitan en casas rentadas. Uno de los Estados en los que habita menor población en casa rentadas es Alaska y esto puede ser en primer medida porque la población de alaska es mucho menor comparada a los demás estados y también por que el acceso a este lugar se dificulta mas y si alguien vive allá es porque lo hará de manera permanenete o porque ya lleva bastantes años habitando allí.
Se procede ha hacer el análisis de datos:
#La media o promedio muestral
with(population, mean(value, na.rm = TRUE))
## [1] 1950583
Se saca el promedio de la población que habita en casas alquiladas en los Estados Unidos, según el resultado de la media o promedio muestral, se evidencia que en promedio 1`950.583 habitantes viven en casas rentadas o alquiladas.
#La mediana
with(population, median(value, na.rm = TRUE))
## [1] 1246689
El dato intermedio de los habitantes que tiene casa rentadas o alquiladas en los Estados Unidos es 1’246.689, es decir que del total de habitantes, el dato que está justo en la mitad es este.
#La moda
Mode = function(x){
ta = table(x)
tam = max(ta)
if (all(ta == tam))
mod = NA
else
if(is.numeric(x))
mod = as.numeric(names(ta)[ta == tam])
else
mod = names(ta)[ta == tam]
return(mod)
}
with(population, Mode(value))
## [1] NA
with(population, as.numeric(names(table(value))[table(value)==max(table(value))]))
## [1] 155804 157487 190505 223885 235441 236990 286031 315456
## [9] 322079 326348 359230 442182 446339 522258 524261 605097
## [17] 730342 731045 814243 857431 907769 1012238 1090252 1141433
## [25] 1218370 1246689 1352616 1355711 1357689 1373027 1572376 1590292
## [33] 1669216 1694657 1753754 1888161 2094535 2118516 2221767 2415571
## [41] 2471438 2745681 2987951 3147418 3301526 3340814 3741396 6027763
## [49] 8232842 8234589 15691211
Se puede observar que cuando se hacer uso de la primera función la moda nos arrja NA; sin embargo, en el segundo caso se evidencia que esta muestra arrojó como resultado más de una moda, lo que quiere decir que es multimodal.
#Medidas de variabilidad y dispersión de datos
##El rango
with(population, range(value, na.rm = TRUE))
## [1] 155804 15691211
Ya que el rango nos muestra la descripción de la posición en la que se encuentra cada valor, se puede evidenciar que el análisis de estos datos se hace dentro del rango arrojado por la anterior función.
Range = function(x){
maximun = max(x, na.rm = TRUE)
minimun = min(x, na.rm = TRUE)
Range = maximun - minimun
return(Range)
}
with(population, Range(value))
## [1] 15535407
El rango mide la dispersión que hay en los valores extremos de las variables, por lo que con la segunda fórmula ingresada se logran evidenciar los datos de los extremos tanto máximo, como mínimo en la variable que hace referencia a la población por Estado que ocupa unidades de casa rentadas.
##Rango intercuartílico
with(population, IQR(value, na.rm = TRUE))
## [1] 1685843
Este tipo de rango no es influenciado por los valores extremos de los datos por lo que solo nos arroja un valor y muestra el recorrido del 50% de población que habita en casa por unidad rentada en los Estados Unidos.
#Desviasión media absoluta
with(population, mean(abs(value-mean(value, na.rm = TRUE)), na.rm = TRUE))
## [1] 1549579
Teniendo en cuenta que la desviasión media absoluta mide la distancia promedio entre cada valor y el promedio, se puede evidenciar que en este caso la distancia es entre cada dato es de de 1’549.579.
#Varianza muestral
with(population, var(value, na.rm = TRUE))
## [1] 6.977932e+12
La varianza muestral permite ver que tan dispersos están los datos respecto a la media, por lo que en este caso a la hora de hacer el respectivo análisis se hará por medio de la varianza poblacional, que permite evidenciar la varianza de los datos y no de toda la población.
#Varianza poblacional
with(population, mean((value-mean(value, na.rm = TRUE))**2, na.rm = TRUE))
## [1] 6.84111e+12
Esta varianza poblacional es analizada respecto a la media y es expresada en unidades de datos elevados al cuadrado y en este caso se que que tan dispersos están los datos al rededor de su media y en este caso la varianza de la población por unidades de casa rentadas en los Estados Unidos esde 6.841.
#Desviasión estándar poblacional
with(population, sqrt(var(value, na.rm = TRUE)*(length(value)-1)/length(value)))
## [1] 2615552
#Desviasión estándar muestral
with(population, sqrt(var(value, na.rm = TRUE)))
## [1] 2641578
Se debe tener en cuenta que la desviación estándar tiene las mismas unidades que los datos analizados y proporciona la variabilidad promedio de los datos respecto a su media y pasa algo muy similar a lo que era observado con la desviasión estándar poblacional, aquí no se quiere medir o analizar a toda la población si no, específicamente, a la población por unidad de casas rentadas en Estados Unidos. En ese sentido, se puede evidenciar la dispersión de los datos.
##Coeficiente de variación poblacional
with(population, sqrt(mean((value-mean(value, na.rm = TRUE))**2, na.rm = TRUE))/mean(value, na.rm = TRUE))
## [1] 1.340908
#Coeficiente de variación muestral
with(population, sqrt(var(value, na.rm = TRUE))/mean(value, na.rm = TRUE))
## [1] 1.35425
El coheficiente de variación permite ver la variación relativa. En ese sentido, se puede evidenciar la variabilidad de los datos por medio de el coeficiente de variación poblacional, pero es aun más específico el resultado que se obtiene del coeficiente de variación muestral ya que no toma a toda la población si no que tiene en cuenta la muestra exacta a analizar que en este caso es la población por unidad de casa rentada.
#Distribución normal
ingresos.medianos <- as.data.frame(rnorm(n = length(population$value), mean = mean(population$value, na.rm = TRUE), sd = sd(population$value, na.rm = TRUE)))
library(ggplot2)
p <- ggplot(population, aes(x=value)) +
geom_density()
p
La anterior gráfica permite observar como un fenómeno sociológico como el análisis de población por unidad de casa rentada que hay en Estados Unidos. Como se pudo ver, las dos primeras gráficas no dieron resultado, ya que se debe tenr en cuenta que para encontrar una gráfica de distribución normal la muestra analizada debe tener una única moda y recordemos que cuando se llevó acabo el respectivo análisis de la moda nos arrojó que era multimodal.
#Sesgo poblacional
library(e1071)
with(population, skewness(value, na.rm = TRUE))
## [1] 3.289633
#Curtosis poblacional
library(e1071)
with(population, kurtosis(value, na.rm = TRUE))
## [1] 12.78033
A partir de la anterior gráfica y con base en el sesgo poblacional y la curtosis, se puede ver que la muestra está bastante sesgada hacia la derecha y también se puede ver una curtosis alta, lo que indica que los valores tiene un grado de concentración alto.
#Conclusión
Esta estudio y análisis de variables hizo porsible la observación de los habitantes por unidad de casa rentada en Estados Unidos y su debida distribución en los diferentes estados. En el momento de hacer el respectivo del análisis con las medidas de tendencia central se vio la moda, la media y la mediana; sin embargo, hay que tener en cuenta que estas medidas no tienen en cuenta los valores de los extermos y teneindo en cuenta que es un muestra bastante grande la que se analizó, se procede a hacer el respectivo análisis con las medidas de dispersión y nos permitió obtener los resultados previamente analizados.