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.