#Introducción:
El siguiente trabajo tiene como principal objetivo analizar el censo realizado en Estados Unidos para el año 2010, esto con el fin de conocer la situación de los hogares en este país durante este año, tomando en cuenta las casas que se encuentran ocupadas . Además, se desea resaltar los datos más importantes, por lo que se tomarán en cuenta las medidas de tendencia central, de variabilidad y de dispersión de datos.
A continuación se van a descargar las siguientes librerías, con el fin de poder obtener los datos del censo:
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
Posteriormente, es necesario acceder al sitio web Census api key, con el fin de obtener una clave, que será útil para adquirir los datos necesarios que permitan conocer el censo de Estados Unidos.
census_api_key("e4860fdbfd92f8f15c15a9e5207f113fb9e3a75f")
## To install your API key for use in future sessions, run this function with `install = TRUE`.
Luego, se van a recoger los códigos con los que se obtendrá el listado de las variables disponibles para análisis.
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) |
Figura 1. Tabla de variables disponibles para el análisis
En este caso, se va a proceder a analizar la variable denominada H011002, que muestra la población total en viviendas ocupadas, específicamente en las propiedades que tienen hipotecas o préstamos.
population <- get_decennial(geography = "state", variables = c(population = "H011002"),
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.
La siguiente tabla recopila las primeras seis filas de los datos que se han obtenido.
kable(head(population))
| GEOID | NAME | variable | value | geometry |
|---|---|---|---|---|
| 04 | Arizona | population | 3210865 | MULTIPOLYGON (((-1111066 -8… |
| 05 | Arkansas | population | 1314090 | MULTIPOLYGON (((557903.1 -1… |
| 06 | California | population | 17379138 | MULTIPOLYGON (((-1853480 -9… |
| 08 | Colorado | population | 2753542 | MULTIPOLYGON (((-613452.9 -… |
| 09 | Connecticut | population | 1961469 | MULTIPOLYGON (((2226838 519… |
| 11 | District of Columbia | population | 203576 | MULTIPOLYGON (((1960720 -41… |
Figura 2. Tabla de datos de las primeras seis filas
A continuación, se van a tomar unos códigos específicos que permiten construir el mapa del censo del país norteamericano, para esto es necesario establecer el color que se desea y posteriormente, identificar el código que va a permitir su visualización.
pal <- colorNumeric(palette = "magma",
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)
Figura 3. Mapa de la densidad poblacional de Estados Unidos para el año 2010.
El mapa visto con anterioridad , demuestra que los Estados donde había más población en este país para el año 2010 , eran: California con aproximadamente 16’000.000 de habitantes y Texas con aproximadamente 12’000.000 de habitantes. Por otro lado, se puede observar que algunos de los Estados donde había menos habitantes eran Maine, Alaska, Dakota del Norte, Montana,entre otros.
#Medidas tendencia central o localización de los datos
Después de haber visto estos datos, es necesario conocer su distribución, para ver cómo se encuentran agrupados y que cantidades podrían ser importantes, es decir, cuales coinciden y tienden a el espacio donde se encuentran la mayor parte de los datos. Para esto es necesario hallar las medidas de tendencia central.
#Moda
with(population, as.numeric(names(table(value))[table(value)==max(table(value))]))
## [1] 203576 276084 296371 326501 331686 379856 459041 496446
## [9] 522025 607655 707291 754068 804068 849398 928899 940096
## [17] 1305743 1314090 1316635 1449502 1621803 1648455 1722782 1865562
## [25] 1961469 1980201 2095569 2241426 2300855 2753542 3044716 3116367
## [33] 3118472 3132423 3210865 3316694 3405024 3506138 3560599 4301930
## [41] 4684035 4749270 4997016 5415697 6041238 6483257 6918705 7872489
## [49] 9158167 11570592 17379138
En este caso, se puede analizar que hay más de una moda, esto se debe a que hay 51 valores que tienen las mismas frecuencias; y a su vez, estas frecuencias son las que más se repiten. Estas al ser muchas permiten afirmar que hay una gran variación de habitantes en los Estados de este país.
#Mediana
with (population, median (value, na.rm = TRUE))
## [1] 1980201
El dato de la mediana refleja que el valor medio de los datos encontrados, es realmente bajo. Lo que significa que la mitad de las variables e inclusive otras por encima de este número, son menores a lo que se espera, tomando en cuenta que hay Estados donde la población es de aproximadamente 16´000.000. Sin embargo, esto se genera debido a que hay una mayoría de Estados donde la población es menor a 2´000.000, como es el caso de Montana, Dakota del Norte, Alaska y Maine, que hacen que la mediana tienda a bajar.
#Media
with(population, mean(value, na.rm = TRUE))
## [1] 3008697
Se puede analizar que el número de la media, es decir el promedio, arroja un resultado realmente bajo y se cumple en una amplia cantidad de Estados, donde la población está alrededor de 2 a 4 millones . Sin embargo, hay Estados que duplican este promedio como Nueva York, Illinois y Florida. Además, hay algunos como California, donde la población duplica aproximadamente 5 veces el promedio, por lo que se podría detectar que en este lugar hay sobrepoblación. Por otro lado,se puede observar que en este caso la media y la mediana presentaron números bastantes diferentes, esto se debe a que la distribución de las variables es asimétrica, ya que, como se dijo anteriormente la distribución de habitantes es poco equitativa entre los Estados. Esta es mayor que la mediana porque hay datos atípicos que tienden a que los datos vayan hacia arriba.
#Medidas de variabilidad y dispersión de los datos
Para evitar conclusiones erróneas, es necesario encontrar datos que vayan más allá de las medidas de tendencia, ya que estas muchas veces pueden omitir datos atípicos, lo que genera que se cree un grado de homogeneidad diferente al no contar con la información necesaria.
#Rango
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] 17175562
A través del rango, se puede observar que la distancia entre el Estado con menos habitantes y el que posee más habitantes es demasiado alta, lo que significa que seguramente hay un Estados con despoblación, y otro donde hay sobrepoblación.
#Rango intercualítico
with(population, IQR(value, na.rm = TRUE))
## [1] 2706636
Se puede observar que el valor de este tipo de rango es mucho menor que el del anterior, esto se da porque se deja de lado los valores extremos de los datos, y así mismo los datos atípicos. Se puede decir, que este número es más informativo que el anterior ya que genera una distancia que se asemeja un poco más a la realidad, al solo tomar en cuenta las variables de la mitad.
#Desviación media absoluta
with(population, mean(abs(value-mean(value, na.rm = TRUE)), na.rm = TRUE))
## [1] 2188243
Hallar la desviación media absoluta permite medir el promedio de variación de todos los datos con respecto a la media. Por lo que permite analizar que tan extendidos están los valores dentro de los datos que se tienen de la población.
A continuación se hallaran los datos muestrales y poblacionales. Es necesario recordar que los muestrales solo reflejan unos datos seleccionados de forma especifica, mientras que los poblacionales abarcan todos los datos
#Varianza poblacional
with(population, var(value, na.rm = TRUE)*(length(value)-1)/length(value))
## [1] 1.01012e+13
Se puede ver que el resultado es demasiado grande por lo que la dispersión entre todos los datos es amplia, y más aún tomando en cuenta que están elevados al cuadrado.
#Varianza muestral
with(population, var(value, na.rm = TRUE))
## [1] 1.030323e+13
Este resultado es el promedio de los cuadrados de las desviaciones de los datos de muestra, se puede observar que en esta es diferente. Esto se debe a que en su fórmula se le resta 1 al denominador del cociente,con el fin de generar un estimador insesgado, es decir un valor que coincida con el del parámetro, en otras palabras, uno más próximo al valor real, algo que es difícil de obtener en los resultados muestrales, ya que solo abarcan una parte de la población.
#Desviación estándar poblacional
with(population, sqrt(var(value, na.rm = TRUE)*(length(value)-1)/length(value)))
## [1] 3178239
El fin de hallar la desviación estándar poblacional es conocer el resultado de la varianza poblacional como una unidad lineal, es decir, eliminar el cuadrado a través de una raíz,esto con el fin de ser un poco más precisos.
#Desviación estándar muestral
with(population, sqrt(var(value, na.rm = TRUE)))
## [1] 3209864
Hallar la desviación estándar muestral tiene el mismo fin que hallar la desviación estándar poblacional. La diferencia radica en que en este caso la raíz que se debe hallar es la de la varianza muestral.
#Coeficiente variación poblacional
with(population, sqrt(mean((value-mean(value, na.rm = TRUE))**2, na.rm = TRUE))/mean(value, na.rm = TRUE))
## [1] 1.056351
Se halló el coeficiente de variación poblacional con el fin de eliminar las unidades que se encuentran en la desviación estándar poblacional. Estas no están influenciadas por las escalas de medidas. En este caso se observa que la variación poblacional entre los Estados es realmente importante y dispersa, ya que es mucho mayor al 10% (0.10).
#Coeficiente de variación muestral
with(population, sqrt(var(value, na.rm = TRUE))/mean(value, na.rm = TRUE))
## [1] 1.066862
Se evidencia que no hay un estimador insesgado, por lo que el resultado no coincide con el valor del parámetro. En este caso, al igual que en el anterior, se puede observar que la variación es realmente importante al ser mayor a 0.10, lo que demuestra que los datos son completamente disímiles.
#La distribución normal
A continuación, se van a hallar los datos de distribución, esto con el fin de poder conocer diferentes fenómenos naturales, sociales y psicológicos de los datos.
ingresos.medianos <- as.data.frame(rnorm(n = length(population$value), mean = mean(population$value, na.rm = TRUE), sd = sd(population$value, na.rm = TRUE)))
Se utilizó el chunk que se ve arriba con el fin de poder hallar la distribución simétrica. Para esto, es necesario simular datos de números aleatorios que posean una media igual a la media poblacional de los habitantes de los Estados, estos a su vez, coinciden con la variación estándar.
library(ggplot2)
p <- ggplot(ingresos.medianos, aes(x=`rnorm(n = length(population$value), mean = mean(population$value, na.rm = TRUE), sd = sd(population$value, na.rm = TRUE))`)) + geom_density()
p
Figura 4. Curva imaginaria simétrica
p + geom_vline(aes(xintercept=mean(`rnorm(n = length(population$value), mean = mean(population$value, na.rm = TRUE), sd = sd(population$value, na.rm = TRUE))`)), color="yellow", linetype="dashed", size=1)
Figura 5. Segunda curva imaginaria simétrica.
Los dos gráficos mostrados con anterioridad permiten observar como sería el resultado del análisis, si existiera una simetría a través del uso de la media y la variación estándar de acuerdo con los números escogidos aleatoriamente. Sin embargo, estas no representan las gráficas reales del análisis.
p <- ggplot(population, aes(x=value)) +
geom_density()
p
Figura 6. Curva de la densidad de los datos poblacionales.
En este gráfico ya se calcula la densidad de los datos originales. Representa la gráfica real del análisis y se puede observar que la curva es asimétrica y está sesgada hacía la derecha en donde se presentan números realmente grandes. Su sesgo se da de forma positiva.
#Sesgo poblacional
library(e1071)
with(population, skewness(value, na.rm = TRUE))
## [1] 2.272382
Se puede observar que el sesgo se da de forma positiva, ya que se da preferencia a cierto tipos de resultados.
#La curtosis poblacional
with(population, kurtosis(value, na.rm = TRUE))
## [1] 6.457259
La curtosis es mucho más elevada que el sesgo y su número es bastante alto, esto se da porque los datos de la variable están más concentrados alrededor de la media.
#Conclusión:
A través del estudio estadístico del censo de la población de Estados Unidos en el año 2010, se pudo encontrar que la distribución de habitantes en los diferentes Estados del país no es uniforme, ya que en muchos hay muy poca población, mientras que en otros hay un exceso de esta. Esto se refleja en las medidas de tendencia central que arrojaron resultados bastantes diferentes a lo que se esperaría debido a los datos atípicos. Posteriormente, para omitir estos datos se procedió a analizar las medidas de variabilidad que permitieron construir resultados un poco más efectivos que se evidencian en las gráfica de la distribución normal.
Saavedra, M (2020)Estadística descriptiva para finanzas, gobierno y relaciones internacionales. En RPubs. Recuperado de https://rpubs.com/mgsaavedraro/653002
Saavedra, M (2020)Estadística descriptiva.Medidas de resumen en Analísis de Datos. En RPubs. Recuperado de https://rpubs.com/mgsaavedraro/643344
Sosa, J.C (2012) Estadística descriptiva y probabilidades. Bogotá: Universidad Externado de Colombia.