library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ ggplot2 3.5.1 ✔ stringr 1.5.1
## ✔ lubridate 1.9.4 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
Ver resumen Estadístico de la data
summary(Medio_Ambiente)
## ID Localizacion Tipo_Ecosistema Temperatura
## Min. : 1.0 Length:2500 Length:2500 Min. :10.20
## 1st Qu.: 625.8 Class :character Class :character 1st Qu.:21.60
## Median :1250.5 Mode :character Mode :character Median :25.20
## Mean :1250.5 Mean :25.06
## 3rd Qu.:1875.2 3rd Qu.:28.50
## Max. :2500.0 Max. :41.30
## Precipitacion Nivel_CO2 Biodiversidad Contaminacion_Aire
## Min. : 0.100 Min. :350.0 Min. : 1.00 Min. : 10.00
## 1st Qu.: 1.900 1st Qu.:374.5 1st Qu.: 26.00 1st Qu.: 45.30
## Median : 3.300 Median :399.8 Median : 50.00 Median : 81.75
## Mean : 4.003 Mean :399.5 Mean : 50.59 Mean : 80.32
## 3rd Qu.: 5.400 3rd Qu.:424.4 3rd Qu.: 76.00 3rd Qu.:115.10
## Max. :22.300 Max. :450.0 Max. :100.00 Max. :149.80
## Actividad_Humana Especies_Endemicas Conservacion Altitud
## Length:2500 Min. : 0.000 Length:2500 Min. : 0
## Class :character 1st Qu.: 4.000 Class :character 1st Qu.: 799
## Mode :character Median : 8.000 Mode :character Median :1542
## Mean : 7.573 Mean :1528
## 3rd Qu.:12.000 3rd Qu.:2269
## Max. :15.000 Max. :2999
## PH_Suelo Cubierta_Vegetal Contaminacion_Agua Estacion
## Min. :4.000 Min. : 0.10 Length:2500 Length:2500
## 1st Qu.:5.100 1st Qu.: 25.07 Class :character Class :character
## Median :6.200 Median : 50.55 Mode :character Mode :character
## Mean :6.221 Mean : 50.58
## 3rd Qu.:7.400 3rd Qu.: 76.60
## Max. :8.500 Max. :100.00
## Inversion_Conservacion Visitas_Anuales Especies_Invasoras Energia_Renovable
## Min. : 48 Min. : 0.0 Min. : 0.00 Length:2500
## 1st Qu.:12443 1st Qu.:120.8 1st Qu.: 2.00 Class :character
## Median :25452 Median :242.0 Median : 5.00 Mode :character
## Mean :25428 Mean :246.0 Mean : 5.01
## 3rd Qu.:38435 3rd Qu.:373.2 3rd Qu.: 8.00
## Max. :49959 Max. :500.0 Max. :10.00
Creación de una nueva variable
nivel_maximo_contaminacion <- 100
# Crear la nueva variable 'Ratio_Contaminacion'
df$Ratio_Contaminacion <- df$Contaminacion_Aire / nivel_maximo_contaminacion
# Imprimir el dataframe con la nueva columna
print(head(df, 10))
## ID Localizacion Tipo_Ecosistema Temperatura Precipitacion Nivel_CO2
## 1 1 Bosque Tropical 29.3 2.3 374.6
## 2 2 Costero Tropical 16.9 3.9 412.5
## 3 3 Bosque Templado 28.5 3.0 374.5
## 4 4 Montaña Templado 23.0 1.1 449.1
## 5 5 Costero Templado 26.6 4.8 426.5
## 6 6 Costero Acuático 29.0 8.9 405.3
## 7 7 Costero Desértico 17.0 2.9 393.6
## 8 8 Bosque Tropical 21.9 3.7 423.7
## 9 9 Urbano Acuático 31.3 2.0 404.1
## 10 10 Costero Templado 25.7 1.5 395.3
## Biodiversidad Contaminacion_Aire Actividad_Humana Especies_Endemicas
## 1 3 68.5 Baja 15
## 2 34 36.1 Media 8
## 3 87 17.9 Media 3
## 4 35 133.8 Media 15
## 5 14 60.1 Media 14
## 6 49 104.5 Baja 6
## 7 6 122.0 Alta 11
## 8 62 57.1 Media 15
## 9 82 105.6 Baja 0
## 10 98 113.6 Media 11
## Conservacion Altitud PH_Suelo Cubierta_Vegetal Contaminacion_Agua Estacion
## 1 En riesgo 311 8.1 2.2 Alta Lluvioso
## 2 Protegido 967 6.6 72.2 Baja Seco
## 3 Protegido 2235 4.3 46.5 Baja Lluvioso
## 4 Protegido 1337 4.4 60.0 Alta Lluvioso
## 5 En riesgo 910 5.9 47.7 Alta Lluvioso
## 6 Estable 489 4.9 60.7 Moderada Lluvioso
## 7 Estable 1091 5.5 10.2 Baja Lluvioso
## 8 En riesgo 273 4.9 86.4 Baja Seco
## 9 En riesgo 311 7.9 66.6 Moderada Lluvioso
## 10 Protegido 2968 5.6 93.2 Baja Lluvioso
## Inversion_Conservacion Visitas_Anuales Especies_Invasoras Energia_Renovable
## 1 47280 4 8 Sí
## 2 44605 226 9 No
## 3 47358 431 3 Sí
## 4 22559 192 2 Sí
## 5 37240 205 0 Sí
## 6 28840 329 6 Sí
## 7 44643 89 10 No
## 8 44863 348 8 No
## 9 40425 470 3 Sí
## 10 15237 27 9 No
## Ratio_Contaminacion
## 1 0.685
## 2 0.361
## 3 0.179
## 4 1.338
## 5 0.601
## 6 1.045
## 7 1.220
## 8 0.571
## 9 1.056
## 10 1.136
Filtrar por temperatura que sea mayor a 30 grados
cod2<-df %>%
filter(Temperatura > 30)
print(head(cod2, 10))
## ID Localizacion Tipo_Ecosistema Temperatura Precipitacion Nivel_CO2
## 1 9 Urbano Acuático 31.3 2.0 404.1
## 2 14 Costero Templado 31.4 14.0 359.4
## 3 31 Urbano Templado 30.7 1.4 353.6
## 4 37 Costero Acuático 36.8 1.1 362.4
## 5 45 Costero Tropical 34.4 2.8 409.1
## 6 46 Urbano Templado 39.6 7.0 370.5
## 7 49 Costero Tropical 35.6 2.8 354.7
## 8 55 Costero Desértico 41.0 4.7 358.2
## 9 58 Urbano Tropical 30.1 1.0 427.1
## 10 62 Urbano Tropical 32.6 6.9 391.9
## Biodiversidad Contaminacion_Aire Actividad_Humana Especies_Endemicas
## 1 82 105.6 Baja 0
## 2 46 132.4 Baja 0
## 3 100 132.4 Media 5
## 4 28 80.2 Alta 8
## 5 36 71.3 Media 0
## 6 5 15.1 Media 0
## 7 9 20.7 Alta 14
## 8 98 29.5 Alta 10
## 9 34 94.9 Media 8
## 10 96 108.0 Alta 12
## Conservacion Altitud PH_Suelo Cubierta_Vegetal Contaminacion_Agua Estacion
## 1 En riesgo 311 7.9 66.6 Moderada Lluvioso
## 2 En riesgo 2143 6.7 3.6 Baja Seco
## 3 En riesgo 1220 8.4 86.7 Moderada Lluvioso
## 4 Estable 1105 6.3 99.7 Alta Lluvioso
## 5 Protegido 2499 6.1 69.3 Moderada Seco
## 6 En riesgo 712 6.9 21.5 Alta Lluvioso
## 7 En riesgo 2518 7.8 59.0 Moderada Seco
## 8 Protegido 2917 6.5 45.6 Moderada Seco
## 9 Protegido 2970 4.3 13.1 Baja Lluvioso
## 10 Estable 1209 4.3 64.3 Moderada Lluvioso
## Inversion_Conservacion Visitas_Anuales Especies_Invasoras Energia_Renovable
## 1 40425 470 3 Sí
## 2 38089 85 7 Sí
## 3 8774 68 5 Sí
## 4 16755 50 7 No
## 5 30532 280 7 No
## 6 1383 497 1 No
## 7 12615 22 5 No
## 8 2593 373 9 No
## 9 18495 451 10 Sí
## 10 192 194 10 Sí
## Ratio_Contaminacion
## 1 1.056
## 2 1.324
## 3 1.324
## 4 0.802
## 5 0.713
## 6 0.151
## 7 0.207
## 8 0.295
## 9 0.949
## 10 1.080
Renombrar la variable localización
cod3 <- df %>%
rename(Zona = Localizacion)
print(head(cod3,10))
## ID Zona Tipo_Ecosistema Temperatura Precipitacion Nivel_CO2 Biodiversidad
## 1 1 Bosque Tropical 29.3 2.3 374.6 3
## 2 2 Costero Tropical 16.9 3.9 412.5 34
## 3 3 Bosque Templado 28.5 3.0 374.5 87
## 4 4 Montaña Templado 23.0 1.1 449.1 35
## 5 5 Costero Templado 26.6 4.8 426.5 14
## 6 6 Costero Acuático 29.0 8.9 405.3 49
## 7 7 Costero Desértico 17.0 2.9 393.6 6
## 8 8 Bosque Tropical 21.9 3.7 423.7 62
## 9 9 Urbano Acuático 31.3 2.0 404.1 82
## 10 10 Costero Templado 25.7 1.5 395.3 98
## Contaminacion_Aire Actividad_Humana Especies_Endemicas Conservacion Altitud
## 1 68.5 Baja 15 En riesgo 311
## 2 36.1 Media 8 Protegido 967
## 3 17.9 Media 3 Protegido 2235
## 4 133.8 Media 15 Protegido 1337
## 5 60.1 Media 14 En riesgo 910
## 6 104.5 Baja 6 Estable 489
## 7 122.0 Alta 11 Estable 1091
## 8 57.1 Media 15 En riesgo 273
## 9 105.6 Baja 0 En riesgo 311
## 10 113.6 Media 11 Protegido 2968
## PH_Suelo Cubierta_Vegetal Contaminacion_Agua Estacion Inversion_Conservacion
## 1 8.1 2.2 Alta Lluvioso 47280
## 2 6.6 72.2 Baja Seco 44605
## 3 4.3 46.5 Baja Lluvioso 47358
## 4 4.4 60.0 Alta Lluvioso 22559
## 5 5.9 47.7 Alta Lluvioso 37240
## 6 4.9 60.7 Moderada Lluvioso 28840
## 7 5.5 10.2 Baja Lluvioso 44643
## 8 4.9 86.4 Baja Seco 44863
## 9 7.9 66.6 Moderada Lluvioso 40425
## 10 5.6 93.2 Baja Lluvioso 15237
## Visitas_Anuales Especies_Invasoras Energia_Renovable Ratio_Contaminacion
## 1 4 8 Sí 0.685
## 2 226 9 No 0.361
## 3 431 3 Sí 0.179
## 4 192 2 Sí 1.338
## 5 205 0 Sí 0.601
## 6 329 6 Sí 1.045
## 7 89 10 No 1.220
## 8 348 8 No 0.571
## 9 470 3 Sí 1.056
## 10 27 9 No 1.136
Clasificación de frecuencias de visitantes
clasificar_frecuencia_visitantes <- function(Visitas_Anuales) {
if (Visitas_Anuales < 100) {
return('Poco')
} else if (Visitas_Anuales >= 100 && Visitas_Anuales <= 200) {
return('Medio')
} else {
return('Alta')
}
}
# Aplicar la función y agregar la nueva columna
cod4 <- df %>%
mutate(Clasificación_Frecuencia_Visitantes = sapply(Visitas_Anuales, clasificar_frecuencia_visitantes))
# Mostrar el data frame actualizado
print(head(cod4,10))
## ID Localizacion Tipo_Ecosistema Temperatura Precipitacion Nivel_CO2
## 1 1 Bosque Tropical 29.3 2.3 374.6
## 2 2 Costero Tropical 16.9 3.9 412.5
## 3 3 Bosque Templado 28.5 3.0 374.5
## 4 4 Montaña Templado 23.0 1.1 449.1
## 5 5 Costero Templado 26.6 4.8 426.5
## 6 6 Costero Acuático 29.0 8.9 405.3
## 7 7 Costero Desértico 17.0 2.9 393.6
## 8 8 Bosque Tropical 21.9 3.7 423.7
## 9 9 Urbano Acuático 31.3 2.0 404.1
## 10 10 Costero Templado 25.7 1.5 395.3
## Biodiversidad Contaminacion_Aire Actividad_Humana Especies_Endemicas
## 1 3 68.5 Baja 15
## 2 34 36.1 Media 8
## 3 87 17.9 Media 3
## 4 35 133.8 Media 15
## 5 14 60.1 Media 14
## 6 49 104.5 Baja 6
## 7 6 122.0 Alta 11
## 8 62 57.1 Media 15
## 9 82 105.6 Baja 0
## 10 98 113.6 Media 11
## Conservacion Altitud PH_Suelo Cubierta_Vegetal Contaminacion_Agua Estacion
## 1 En riesgo 311 8.1 2.2 Alta Lluvioso
## 2 Protegido 967 6.6 72.2 Baja Seco
## 3 Protegido 2235 4.3 46.5 Baja Lluvioso
## 4 Protegido 1337 4.4 60.0 Alta Lluvioso
## 5 En riesgo 910 5.9 47.7 Alta Lluvioso
## 6 Estable 489 4.9 60.7 Moderada Lluvioso
## 7 Estable 1091 5.5 10.2 Baja Lluvioso
## 8 En riesgo 273 4.9 86.4 Baja Seco
## 9 En riesgo 311 7.9 66.6 Moderada Lluvioso
## 10 Protegido 2968 5.6 93.2 Baja Lluvioso
## Inversion_Conservacion Visitas_Anuales Especies_Invasoras Energia_Renovable
## 1 47280 4 8 Sí
## 2 44605 226 9 No
## 3 47358 431 3 Sí
## 4 22559 192 2 Sí
## 5 37240 205 0 Sí
## 6 28840 329 6 Sí
## 7 44643 89 10 No
## 8 44863 348 8 No
## 9 40425 470 3 Sí
## 10 15237 27 9 No
## Ratio_Contaminacion Clasificación_Frecuencia_Visitantes
## 1 0.685 Poco
## 2 0.361 Alta
## 3 0.179 Alta
## 4 1.338 Medio
## 5 0.601 Alta
## 6 1.045 Alta
## 7 1.220 Poco
## 8 0.571 Alta
## 9 1.056 Alta
## 10 1.136 Poco
Agrupar la localización y calcular su temperatura promedio
temperatura_promedio_zona <- df %>%
group_by(Localizacion) %>%
summarise(Temperatura_Promedio = mean(Temperatura, na.rm = TRUE))
# Mostrar el resultado
print(head(temperatura_promedio_zona,10))
## # A tibble: 4 × 2
## Localizacion Temperatura_Promedio
## <chr> <dbl>
## 1 Bosque 24.8
## 2 Costero 25.0
## 3 Montaña 25.3
## 4 Urbano 25.1
Filtrar el tipo de ecosistema por tropical
tropicales_df <- df %>%
filter(Tipo_Ecosistema == 'Tropical')
# Imprimir el data frame filtrado
print(head(tropicales_df,10))
## ID Localizacion Tipo_Ecosistema Temperatura Precipitacion Nivel_CO2
## 1 1 Bosque Tropical 29.3 2.3 374.6
## 2 2 Costero Tropical 16.9 3.9 412.5
## 3 8 Bosque Tropical 21.9 3.7 423.7
## 4 23 Montaña Tropical 23.4 2.3 354.4
## 5 27 Urbano Tropical 29.3 4.9 353.3
## 6 30 Montaña Tropical 23.6 4.9 416.6
## 7 36 Urbano Tropical 25.4 2.9 444.3
## 8 39 Montaña Tropical 18.7 5.8 369.0
## 9 42 Bosque Tropical 28.6 11.6 350.4
## 10 43 Costero Tropical 17.9 6.5 380.9
## Biodiversidad Contaminacion_Aire Actividad_Humana Especies_Endemicas
## 1 3 68.5 Baja 15
## 2 34 36.1 Media 8
## 3 62 57.1 Media 15
## 4 11 148.0 Alta 7
## 5 51 56.7 Alta 8
## 6 29 114.5 Media 13
## 7 40 34.9 Alta 13
## 8 33 135.4 Alta 2
## 9 20 98.2 Alta 11
## 10 17 127.7 Media 10
## Conservacion Altitud PH_Suelo Cubierta_Vegetal Contaminacion_Agua Estacion
## 1 En riesgo 311 8.1 2.2 Alta Lluvioso
## 2 Protegido 967 6.6 72.2 Baja Seco
## 3 En riesgo 273 4.9 86.4 Baja Seco
## 4 Protegido 630 7.6 95.4 Baja Seco
## 5 Protegido 2534 5.3 98.8 Moderada Lluvioso
## 6 Estable 1377 4.9 56.8 Baja Seco
## 7 Estable 363 6.8 46.4 Alta Lluvioso
## 8 Estable 612 7.7 56.4 Alta Lluvioso
## 9 Protegido 2073 4.5 78.4 Alta Seco
## 10 En riesgo 315 5.7 5.2 Moderada Lluvioso
## Inversion_Conservacion Visitas_Anuales Especies_Invasoras Energia_Renovable
## 1 47280 4 8 Sí
## 2 44605 226 9 No
## 3 44863 348 8 No
## 4 1117 387 2 Sí
## 5 26410 304 0 No
## 6 10447 458 2 Sí
## 7 14140 138 9 No
## 8 31543 251 8 Sí
## 9 39948 474 2 No
## 10 24733 10 0 No
## Ratio_Contaminacion
## 1 0.685
## 2 0.361
## 3 0.571
## 4 1.480
## 5 0.567
## 6 1.145
## 7 0.349
## 8 1.354
## 9 0.982
## 10 1.277
conservacion_counts <- df %>%
count(Conservacion)
# Crear el gráfico de pastel
ggplot(conservacion_counts, aes(x = "", y = n, fill = Conservacion)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y") + # Convertir a gráfico de pastel
labs(title = "Distribución de la Conservación") +
theme_void() # Quitar el fondo para un mejor aspecto

ggplot(tropicales_df, aes(x = Localizacion, y = Precipitacion, fill = Zona)) +
geom_boxplot(color = "black", aes(fill = "lightblue")) + # Cambia el color de relleno
labs(title = 'Distribución de Contaminación del Aire en Ecosistemas Tropicales',
x = 'Localizacion',
y = 'Precipitación') +
theme_minimal() + # Tema minimalista
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas del eje x
