-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
_03-ex.Rmd
76 lines (54 loc) · 4.47 KB
/
_03-ex.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Para estos ejercicios utilizaremos los conjuntos de datos `us_states` y `us_states_df` del paquete **spData**.
Antes de realizar estos ejercicios, deberás haber añadido este paquete y los otros utilizados en el capítulo de operaciones con atributos (**sf**, **dplyr**, **terra**) con comandos como `library(spData)`.
```{r 03-ex-e0}
library(sf)
library(dplyr)
library(terra)
library(spData)
data(us_states)
data(us_states_df)
```
`us_states` es un objeto espacial (de clase `sf`), que contiene la geometría y algunos atributos (incluyendo el nombre, la región, el área y la población) de los estados contiguos de Estados Unidos.
El objeto `us_states_df` es un marco de datos (de la clase `data.frame`) que contiene el nombre y variables adicionales (incluyendo la renta media y el nivel de pobreza, para los años 2010 y 2015) de los estados de EE.UU., incluyendo Alaska, Hawaii y Puerto Rico.
Los datos proceden de la Oficina del Censo de los Estados Unidos, y están documentados en "us_states" y "us_states_df".
E1. Crea un nuevo objeto llamado `us_states_name` que contenga sólo la columna `NAME` del objeto `us_states` utilizando la sintaxis de R base (`[`) o tidyverse (`select()`).
¿Cuál es la clase del nuevo objeto y qué lo hace geográfico?
```{r 03-ex-e1}
us_states_name = us_states["NAME"]
class(us_states_name)
```
E2. Selecciona las columnas del objeto `us_states` que contienen datos de población.
Obtén el mismo resultado utilizando un comando diferente (bonus: intenta encontrar tres formas de obtener el mismo resultado).
Sugerencia: intenta utilizar funciones de ayuda, como `contains` o `starts_with` de **dplyr** (ver `?contains`).
E3. Encuentra todos los estados con las siguientes características (bonus: encuéntralos *y* grafícalos):
- Pertenecen a la región del Medio Oeste.
- Pertenecen a la región Oeste, tienen una superficie inferior a 250.000 km^2^ *y* en 2015 una población superior a 5.000.000 de habitantes (pista: puede que tengas que utilizar la función `units::set_units()` o `as.numeric()`).
- Pertenecen a la región Sur, tienen una superficie superior a 150.000 km^2^ o una población total en 2015 superior a 7.000.000 de residentes.
E4. ¿Cuál fue la población total en 2015 en el conjunto de datos `us_states`?
¿Cuál fue la población total mínima y máxima en 2015?
E5. ¿Cuántos estados hay en cada región?
E6. ¿Cuál fue la población total mínima y máxima en 2015 en cada región?
¿Cuál fue la población total en 2015 en cada región?
E7. Añade las variables de `us_states_df` a `us_states`, y crea un nuevo objeto llamado `us_states_stats`.
¿Qué función has utilizado y por qué?
¿Qué variable es la clave en ambos conjuntos de datos?
¿Cuál es la clase del nuevo objeto?
E8. `us_states_df` tiene dos filas más que `us_states`.
¿Cómo puedes encontrarlas? (pista: intenta utilizar la función `dplyr::anti_join()`)
E9. ¿Cuál era la densidad de población en 2015 en cada estado?
¿Cuál era la densidad de población en cada estado en 2010?
E10. ¿Cuánto ha cambiado la densidad de población entre 2010 y 2015 en cada estado?
Calcula el cambio en porcentajes y crea un mapa que lo muestre.
E11. Cambia los nombres de las columnas en `us_states` a minúsculas. (Sugerencia: las funciones - `tolower()` y `colnames()` pueden ayudar).
E12. Usando `us_states` y `us_states_df` crea un nuevo objeto llamado `us_states_sel`.
El nuevo objeto debe tener sólo dos variables - `median_income_15` y `geometry`.
Cambia el nombre de la columna `median_income_15` por `Income`.
E13. Calcula la variación del número de residentes que viven por debajo del nivel de pobreza entre 2010 y 2015 para cada estado. (Sugerencia: Consulta ?us_states_df para ver la documentación sobre las columnas relacionadas con el nivel de pobreza).
Bonus: Calcula el cambio en el *porcentaje* de residentes que viven por debajo del nivel de pobreza en cada estado.
E14. ¿Cuál fue el número mínimo, medio y máximo de personas que viven por debajo del umbral de la pobreza en 2015 en cada región?
Bonus: ¿Cuál es la región con el mayor aumento de personas que viven por debajo del umbral de la pobreza?
E15. Crea un raster desde cero con nueve filas y columnas y una resolución de 0,5 grados decimales (WGS84).
Rellénalo con números aleatorios.
Extrae los valores de las cuatro celdas de las esquinas.
E16. ¿Cuál es la clase más común de nuestro ejemplo de raster `grain`? (pista: `modal()`)
E17. Traza el histograma y el boxplot del raster `data(dem, package = "spDataLarge")`.