Aquest informe analitza els llocs declarats Patrimoni de la Humanitat per la UNESCO.
setwd("C:/Users/lu220/Desktop/Big data")
library(readxl)
## Warning: package 'readxl' was built under R version 4.5.3
dades <- read_excel("whc-sites-2025.xls")
head(dades)
## # A tibble: 6 × 49
## unique_number id_no rev_bis name_en name_fr name_es name_ru name_ar name_zh
## <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 230 208 Rev Cultural … Paysag… Paisaj… Культу… المنظر… 巴米扬山谷的…
## 2 234 211 Rev Minaret a… Minare… Minare… Минаре… مئذنة … 查姆回教寺院…
## 3 1590 569 Bis Historic … Centre… Ciudad… Истори… المركز… <NA>
## 4 1563 570 ter Butrint Butrint Butrin… Древни… بوترنت 布特林特……
## 5 111 102 <NA> Al Qal'a … La Kal… Kalâa … Крепос… قلعة ب… 贝尼•哈玛德…
## 6 198 179 <NA> Tassili n… Tassil… Tasili… Плато … طاسيلي… 阿杰尔的塔西…
## # ℹ 40 more variables: short_description_en <chr>, short_description_fr <chr>,
## # short_description_es <chr>, short_description_ru <chr>,
## # short_description_ar <chr>, short_description_zh <chr>,
## # justification_en <chr>, justification_fr <chr>, date_inscribed <dbl>,
## # secondary_dates <chr>, danger <dbl>, date_end <dbl>, danger_list <chr>,
## # longitude <dbl>, latitude <dbl>, area_hectares <dbl>, C1 <dbl>, C2 <dbl>,
## # C3 <dbl>, C4 <dbl>, C5 <dbl>, C6 <dbl>, N7 <dbl>, N8 <dbl>, N9 <dbl>, …
names(dades)
## [1] "unique_number" "id_no" "rev_bis"
## [4] "name_en" "name_fr" "name_es"
## [7] "name_ru" "name_ar" "name_zh"
## [10] "short_description_en" "short_description_fr" "short_description_es"
## [13] "short_description_ru" "short_description_ar" "short_description_zh"
## [16] "justification_en" "justification_fr" "date_inscribed"
## [19] "secondary_dates" "danger" "date_end"
## [22] "danger_list" "longitude" "latitude"
## [25] "area_hectares" "C1" "C2"
## [28] "C3" "C4" "C5"
## [31] "C6" "N7" "N8"
## [34] "N9" "N10" "criteria_txt"
## [37] "category" "category_short" "states_name_en"
## [40] "states_name_fr" "states_name_es" "states_name_ru"
## [43] "states_name_ar" "states_name_zh" "region_en"
## [46] "region_fr" "iso_code" "udnp_code"
## [49] "transboundary"
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.5.3
## Warning: package 'ggplot2' was built under R version 4.5.3
## Warning: package 'tibble' was built under R version 4.5.3
## Warning: package 'tidyr' was built under R version 4.5.3
## Warning: package 'readr' was built under R version 4.5.3
## Warning: package 'purrr' was built under R version 4.5.3
## Warning: package 'dplyr' was built under R version 4.5.3
## Warning: package 'stringr' was built under R version 4.5.3
## Warning: package 'forcats' was built under R version 4.5.3
## Warning: package 'lubridate' was built under R version 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.0 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.2 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.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
nrow(dades)
## [1] 1248
dades %>%
count(category)
## # A tibble: 3 × 2
## category n
## <chr> <int>
## 1 Cultural 972
## 2 Mixed 41
## 3 Natural 235
dades %>%
count(states_name_en, sort = TRUE)
## # A tibble: 212 × 2
## states_name_en n
## <chr> <int>
## 1 China 59
## 2 Italy 54
## 3 France 47
## 4 Spain 46
## 5 Germany 44
## 6 India 43
## 7 Mexico 36
## 8 United Kingdom of Great Britain and Northern Ireland 32
## 9 Russian Federation 29
## 10 Iran (Islamic Republic of) 28
## # ℹ 202 more rows
dades %>%
count(date_inscribed)
## # A tibble: 46 × 2
## date_inscribed n
## <dbl> <int>
## 1 1978 12
## 2 1979 45
## 3 1980 27
## 4 1981 26
## 5 1982 24
## 6 1983 29
## 7 1984 22
## 8 1985 30
## 9 1986 29
## 10 1987 41
## # ℹ 36 more rows
paisos <- dades %>%
count(states_name_en, sort = TRUE)
graf.paisos <- ggplot(head(paisos, 10),
aes(x = reorder(states_name_en, n),
y = n)) +
geom_col() +
coord_flip() +
labs(title = "Països amb més llocs Patrimoni de la Humanitat",
x = "País",
y = "Nombre de llocs")
graf.paisos
Aquest gràfic mostra els deu països amb més llocs declarats Patrimoni de la Humanitat.
graf.categories <- ggplot(dades,
aes(x = category,
fill = category)) +
geom_bar() +
labs(title = "Distribució dels llocs segons la categoria",
x = "Categoria",
y = "Nombre de llocs")
graf.categories
Aquest gràfic mostra la distribució dels llocs segons la categoria de patrimoni.
evolucio <- dades %>%
count(date_inscribed)
graf.evolucio <- ggplot(evolucio,
aes(x = date_inscribed,
y = n)) +
geom_line() +
geom_point() +
labs(title = "Evolució temporal de les inscripcions",
x = "Any",
y = "Nombre de llocs inscrits")
graf.evolucio
Aquest gràfic mostra l’evolució temporal dels llocs inscrits a la llista de la UNESCO.
library(plotly)
## Warning: package 'plotly' was built under R version 4.5.3
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
graf.evolucio.int <- plotly::ggplotly(graf.evolucio)
graf.evolucio.int
library(maps)
## Warning: package 'maps' was built under R version 4.5.3
##
## Attaching package: 'maps'
## The following object is masked from 'package:purrr':
##
## map
dades.mapa <- dades %>%
filter(!is.na(longitude),
!is.na(latitude))
ggplot() +
borders("world", fill = "white") +
geom_point(data = dades.mapa,
aes(x = longitude,
y = latitude),
color = "red",
size = 1) +
labs(title = "Distribució mundial dels llocs Patrimoni de la Humanitat",
x = "Longitud",
y = "Latitud")
## Warning: `borders()` was deprecated in ggplot2 4.0.0.
## ℹ Please use `annotation_borders()` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Aquest mapa mostra la distribució mundial dels llocs Patrimoni de la Humanitat.
ggplot() +
borders("world", fill = "white") +
geom_point(data = dades.mapa,
aes(x = longitude,
y = latitude,
color = category),
size = 1) +
labs(title = "Distribució dels llocs segons la categoria",
x = "Longitud",
y = "Latitud")
Aquest mapa permet observar les diferències entre les categories cultural, natural i mixta.
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.5.3
leaflet(dades.mapa) %>%
addTiles() %>%
addMarkers(lng = ~longitude,
lat = ~latitude,
popup = ~name_en)
library(tidytext)
## Warning: package 'tidytext' was built under R version 4.5.3
textos <- dades %>%
select(short_description_en)
paraules <- textos %>%
tidytext::unnest_tokens(word,
short_description_en)
vacias <- tidytext::get_stopwords("en")
paraules2 <- paraules %>%
anti_join(vacias,
by = "word")
freq.paraules <- paraules2 %>%
count(word, sort = TRUE)
freq.paraules
## # A tibble: 12,067 × 2
## word n
## <chr> <int>
## 1 p 2388
## 2 century 750
## 3 site 520
## 4 em 360
## 5 city 346
## 6 built 334
## 7 one 313
## 8 property 287
## 9 landscape 279
## 10 centuries 262
## # ℹ 12,057 more rows
frequents <- freq.paraules %>%
top_n(10, n)
ggplot(frequents,
aes(x = word,
y = n,
fill = word)) +
geom_col(show.legend = FALSE) +
coord_flip() +
labs(title = "Paraules més freqüents",
x = "Paraula",
y = "Freqüència")
Aquest gràfic mostra les paraules més repetides dins les descripcions breus dels llocs.
library(wordcloud2)
## Warning: package 'wordcloud2' was built under R version 4.5.3
wordcloud2(freq.paraules)
L’anàlisi mostra que els llocs Patrimoni de la Humanitat no es distribueixen de manera uniforme arreu del món. Alguns països concentren molts llocs, mentre que altres tenen una presència menor.
Els gràfics permeten observar la comparació entre països, la distribució per categories i l’evolució temporal de les inscripcions. Els mapes ajuden a veure la distribució geogràfica dels llocs i les diferències entre categories.
Finalment, l’anàlisi textual del camp
short_description_en permet identificar les paraules i
conceptes més recurrents en les descripcions de la UNESCO.