#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.

Referencias:

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.