R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

Introducció

En aquest treball s’analitza la base de dades oficial dels llocs Patrimoni de la Humanitat de la UNESCO. Mitjançant l’ús de gràfics, mapes i tècniques d’anàlisi de text, s’analitzen diferents característiques dels llocs inscrits, com ara la seva distribució per regions i països, la situació dels llocs en perill i els termes més freqüents presents en les seves descripcions.

Exercici 1

En aquest apartat es realitza una exploració inicial de la base de dades i es creen diferents gràfics per analitzar la distribució dels llocs Patrimoni de la Humanitat.

Gràfic 1: Nombre de llocs Patrimoni per regió

library(readxl)
## Warning: package 'readxl' was built under R version 4.5.3
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
dades <- read_excel("whc-sites-2025.xlsx")

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
regions <- dades %>%
  count(region_en, sort = TRUE)

graf.regions <- ggplot(head(regions, 10),
                       aes(x = reorder(region_en, n),
                           y = n)) +
  geom_col() +
  coord_flip() +
  labs(title = "Nombre de llocs Patrimoni per regió",
       x = "Regió",
       y = "Nombre de llocs")

graf.regions

Aquest gràfic mostra les regions amb més llocs declarats Patrimoni de la Humanitat.

Gràfic 2: Top 10 països amb més llocs Patrimoni

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 = "Top 10 països amb més llocs Patrimoni",
       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.

Gràfic 3: Distribució dels llocs en perill

perill <- dades %>%
  count(danger)

graf.perill <- ggplot(perill,
                      aes(x = factor(danger),
                          y = n)) +
  geom_col() +
  labs(title = "Distribució dels llocs Patrimoni en perill",
       x = "Situació de perill",
       y = "Nombre de llocs")

graf.perill

Aquest gràfic mostra la distribució dels llocs Patrimoni de la Humanitat segons si es troben o no en situació de perill.

Exercici 2

Mapa 1: Distribució mundial dels llocs

library(maps)
## Warning: package 'maps' was built under R version 4.5.3
## 
## Adjuntando el paquete: '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.

Mapa 2: Llocs Patrimoni en perill

llocs.perill <- dades %>%
  filter(danger == 1)

ggplot() +
  borders("world", fill = "white") +
  geom_point(data = llocs.perill,
             aes(x = longitude,
                 y = latitude),
             color = "blue",
             size = 1) +
  labs(title = "Llocs Patrimoni de la Humanitat en perill",
       x = "Longitud",
       y = "Latitud")

Aquest mapa mostra la localització dels llocs Patrimoni de la Humanitat que actualment es troben en situació de perill.

Exercici 3

Anàlisi de text

library(tidytext)
## Warning: package 'tidytext' was built under R version 4.5.3
textos <- dades %>%
  select(short_description_en)

paraules <- textos %>%
  tidytext::unnest_tokens(paraula,
                          short_description_en)

vacias <- tidytext::get_stopwords("en")

vacias <- vacias %>%
  rename(paraula = word)

paraules2 <- paraules %>%
  anti_join(vacias,
            by = "paraula")

freq.paraules <- paraules2 %>%
  count(paraula, sort = TRUE)

freq.paraules
## # A tibble: 12,067 × 2
##    paraula       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

Paraules més freqüents

frequents <- freq.paraules %>%
  top_n(5, n)

ggplot(frequents,
       aes(x = paraula,
           y = n,
           fill = paraula)) +
  geom_col(show.legend = FALSE) +
  coord_flip() +
  labs(title = "Paraules més freqüents als llocs UNESCO",
       x = "Paraula",
       y = "Freqüència")

Aquest gràfic mostra les paraules més repetides dins les descripcions breus dels llocs Patrimoni de la Humanitat.

Núvol de paraules

library(wordcloud2)
## Warning: package 'wordcloud2' was built under R version 4.5.3
wordcloud2(freq.paraules)

Conclusions

L’anàlisi dels llocs Patrimoni de la Humanitat de la UNESCO ha permès observar la seva distribució per regions i països, així com identificar els llocs que es troben en situació de perill. Els mapes i gràfics han facilitat la visualització de la distribució geogràfica dels llocs, mentre que l’anàlisi de text ha permès detectar les paraules més freqüents utilitzades en les seves descripcions.