Aquest document descriu l’anàlisi d’un conjunt de dades oficials i estadístiques públiques sobre les característiques del servei de biblioteca pública a Catalunya l’any 2023. L’informe complet de resultats es troba disponible a: [URL pendent de la publicació de l’informe].
Carreguem els paquets que utilitzarem en l’anàlisi.
library(readr)
library(tidyverse)
library(scales)
Les dades analitzades estan disponibles a Zenodo.
data <- read_delim("https://zenodo.org/record/15815448/files/data.csv?download=1",
delim = ";",
locale = locale(encoding = "UTF-8"),
show_col_types = FALSE)
data %>%
mutate(tipus = case_when(
grepl("^Bibliobús", as.character(Biblioteques.Directori)) ~ "Amb bibliobús",
grepl("^\\d+$", as.character(Biblioteques.Directori)) ~ "Amb biblioteca",
is.na(Biblioteques.Directori) ~ "Sense biblioteca")) %>%
group_by(tipus) %>%
summarise(
municipis = n(),
percentatge_municipis = (municipis / nrow(data)) * 100,
habitants = sum(Habitants, na.rm = TRUE),
percentatge_habitants = (habitants / sum(data$Habitants, na.rm = TRUE)) * 100 )
## # A tibble: 3 × 5
## tipus municipis percentatge_municipis habitants percentatge_habitants
## <chr> <int> <dbl> <dbl> <dbl>
## 1 Amb bibliobús 164 17.3 171842 2.21
## 2 Amb biblioteca 385 40.7 7394276 94.9
## 3 Sense bibliot… 398 42.0 226493 2.91
data %>%
filter(is.na(Biblioteques.Directori)) %>%
select(Municipi, Provincia, Habitants) %>%
arrange(desc(Habitants)) %>%
print(n = Inf)
## # A tibble: 398 × 3
## Municipi Provincia Habitants
## <chr> <chr> <dbl>
## 1 Vilafant Girona 5562
## 2 Sant Pere de Vilamajor Barcelona 4815
## 3 Calaf Barcelona 3590
## 4 Vall d'en Bas, La Girona 3143
## 5 Pobla de Montornès, La Tarragona 3101
## 6 Sant Esteve de Palautordera Barcelona 3043
## 7 Cadaqués Girona 2889
## 8 Albinyana Tarragona 2581
## 9 Cornellà del Terri Girona 2407
## 10 Bellvei Tarragona 2346
## 11 Pla de Santa Maria, El Tarragona 2340
## 12 Vinyols i els Arcs Tarragona 2258
## 13 Borges del Camp, Les Tarragona 2148
## 14 Peralada Girona 1974
## 15 Golmés Lleida 1893
## 16 Vallmoll Tarragona 1882
## 17 Preses, Les Girona 1875
## 18 Batea Tarragona 1863
## 19 Montmell, El Tarragona 1863
## 20 Bordils Girona 1815
## 21 Forallac Girona 1765
## 22 Secuita, La Tarragona 1765
## 23 Riera de Gaià, La Tarragona 1752
## 24 Avinyonet de Puigventós Girona 1676
## 25 Santa Pau Girona 1605
## 26 Fogars de la Selva Barcelona 1564
## 27 Benavent de Segrià Lleida 1563
## 28 Llívia Girona 1495
## 29 Palau-saverdera Girona 1472
## 30 Fontcoberta Girona 1466
## 31 Navata Girona 1465
## 32 Miralcamp Lleida 1364
## 33 Térmens Lleida 1363
## 34 Anglesola Lleida 1350
## 35 Sant Julià del Llor i Bonmatí Girona 1347
## 36 Vall de Bianya, La Girona 1345
## 37 Cruïlles, Monells i Sant Sadurní de l'Heura Girona 1338
## 38 Almoster Tarragona 1334
## 39 Perafort Tarragona 1292
## 40 Riudecanyes Tarragona 1279
## 41 Corçà Girona 1268
## 42 Cabra del Camp Tarragona 1254
## 43 Llers Girona 1245
## 44 Fuliola, La Lleida 1238
## 45 Puigpelat Tarragona 1199
## 46 Riudecols Tarragona 1198
## 47 Ullà Girona 1195
## 48 Vilamalla Girona 1166
## 49 Verges Girona 1162
## 50 Serinyà Girona 1153
## 51 Flaçà Girona 1130
## 52 Bossòst Lleida 1121
## 53 Montferrer i Castellbò Lleida 1083
## 54 Os de Balaguer Lleida 1046
## 55 Armentera, L' Girona 1043
## 56 Bàscara Girona 1034
## 57 Pinell de Brai, El Tarragona 1000
## 58 Vilabertran Girona 991
## 59 Olius Lleida 985
## 60 Barbens Lleida 979
## 61 Cornudella de Montsant Tarragona 978
## 62 Les Lleida 970
## 63 Aiguamúrcia Tarragona 961
## 64 Montagut i Oix Girona 958
## 65 Cabanes Girona 949
## 66 Vall-llobrega Girona 926
## 67 Aleixar, L' Tarragona 924
## 68 Tivenys Tarragona 923
## 69 Ventalló Girona 911
## 70 Vimbodí i Poblet Tarragona 884
## 71 Saus, Camallera i Llampaies Girona 865
## 72 Aldover Tarragona 862
## 73 Maspujols Tarragona 859
## 74 Verdú Lleida 851
## 75 Tornabous Lleida 847
## 76 Vilademuls Girona 840
## 77 Sant Feliu de Buixalleu Girona 839
## 78 Sant Jordi Desvalls Girona 830
## 79 Lladó Girona 827
## 80 Massanes Girona 825
## 81 Tortellà Girona 823
## 82 Rasquera Tarragona 822
## 83 Sant Miquel de Fluvià Girona 808
## 84 Albons Girona 797
## 85 Valls de Valira, Les Lleida 794
## 86 Camarasa Lleida 786
## 87 Vila-sacra Girona 785
## 88 Aiguaviva Girona 780
## 89 Fondarella Lleida 778
## 90 Fortià Girona 778
## 91 Borrassà Girona 776
## 92 Menàrguens Lleida 774
## 93 Vila-sana Lleida 767
## 94 Torrelameu Lleida 765
## 95 Sidamon Lleida 759
## 96 Canet d'Adri Girona 750
## 97 Bonastre Tarragona 742
## 98 Torroella de Fluvià Girona 741
## 99 Masies de Roda, Les Barcelona 733
## 100 Sant Pau de Segúries Girona 732
## 101 Llambilles Girona 731
## 102 Maçanet de Cabrenys Girona 724
## 103 Portella, La Lleida 718
## 104 Camós Girona 715
## 105 Castellnou de Seana Lleida 715
## 106 Bellcaire d'Empordà Girona 713
## 107 Vilabella Tarragona 711
## 108 Galera, La Tarragona 700
## 109 Sant Climent Sescebes Girona 696
## 110 Pratdip Tarragona 693
## 111 Bràfim Tarragona 687
## 112 Miravet Tarragona 682
## 113 Sant Martí de Llémena Girona 679
## 114 Capmany Girona 672
## 115 Poal, El Lleida 667
## 116 Montgai Lleida 647
## 117 Sant Martí de Riucorb Lleida 646
## 118 Vilalba dels Arcs Tarragona 634
## 119 Solivella Tarragona 628
## 120 Far d'Empordà, El Girona 625
## 121 Torrefeta i Florejacs Lleida 621
## 122 Montellà i Martinet Lleida 615
## 123 Godall Tarragona 609
## 124 Vilagrassa Lleida 605
## 125 Marçà Tarragona 593
## 126 Pau Girona 579
## 127 Guils de Cerdanya Girona 573
## 128 Querol Tarragona 572
## 129 Bot Tarragona 566
## 130 Paüls Tarragona 566
## 131 Riba, La Tarragona 552
## 132 Salomó Tarragona 543
## 133 Pont de Molins Girona 542
## 134 Nulles Tarragona 541
## 135 Vilaplana Tarragona 540
## 136 Darnius Girona 535
## 137 Fontanals de Cerdanya Girona 533
## 138 Llanars Girona 533
## 139 Albiol, L' Tarragona 528
## 140 Garcia Tarragona 527
## 141 Sant Joan de Mollet Girona 515
## 142 Ger Girona 512
## 143 Riudaura Girona 511
## 144 Castelló de Farfanya Lleida 508
## 145 Alió Tarragona 496
## 146 Vespella de Gaià Tarragona 496
## 147 Pont d'Armentera, El Tarragona 492
## 148 Plans de Sió, Els Lleida 490
## 149 Esponellà Girona 489
## 150 Pira Tarragona 489
## 151 Barberà de la Conca Tarragona 486
## 152 Sant Ramon Lleida 480
## 153 Tallada d'Empordà, La Girona 480
## 154 Masroig, El Tarragona 479
## 155 Colera Girona 468
## 156 Maià de Montcal Girona 462
## 157 Avellanes i Santa Linya, Les Lleida 459
## 158 Garrigàs Girona 458
## 159 Palol de Revardit Girona 457
## 160 Vilaverd Tarragona 453
## 161 Arnes Tarragona 448
## 162 Alt Àneu Lleida 441
## 163 Ribera d'Ondara Lleida 441
## 164 Gualta Girona 439
## 165 Pera, La Girona 438
## 166 Penelles Lleida 430
## 167 Porrera Tarragona 429
## 168 Soriguera Lleida 429
## 169 Conca de Dalt Lleida 427
## 170 Osor Girona 423
## 171 Algerri Lleida 422
## 172 Preixens Lleida 422
## 173 Montferri Tarragona 419
## 174 Sentiu de Sió, La Lleida 417
## 175 Parlavà Girona 415
## 176 Vilanova de Meià Lleida 413
## 177 Vilallonga de Ter Girona 410
## 178 Ulldemolins Tarragona 409
## 179 Espolla Girona 408
## 180 Capçanes Tarragona 407
## 181 Vinebre Tarragona 407
## 182 Preixana Lleida 404
## 183 Vilanant Girona 401
## 184 Rourell, El Tarragona 395
## 185 Blancafort Tarragona 394
## 186 Sanaüja Lleida 392
## 187 Brunyola i Sant Martí Sapresa Girona 388
## 188 Freginals Tarragona 388
## 189 Torre-serona Lleida 387
## 190 Jafre Girona 386
## 191 Vilamacolum Girona 386
## 192 Santa Llogaia d'Àlguema Girona 379
## 193 Ordis Girona 373
## 194 Molló Girona 365
## 195 Sant Aniol de Finestres Girona 363
## 196 Alfara de Carles Tarragona 359
## 197 Cubells Lleida 356
## 198 Terrades Girona 345
## 199 Mieres Girona 341
## 200 Palma d'Ebre, La Tarragona 341
## 201 Pobla de Massaluca, La Tarragona 340
## 202 Juià Girona 334
## 203 Figuerola del Camp Tarragona 332
## 204 Cantallops Girona 330
## 205 Alàs i Cerc Lleida 329
## 206 Ivars de Noguera Lleida 327
## 207 Palau-sator Girona 327
## 208 Poboleda Tarragona 327
## 209 Isòvol Girona 318
## 210 Cistella Girona 307
## 211 Planoles Girona 307
## 212 Navès Lleida 305
## 213 Cabacés Tarragona 304
## 214 Madremanya Girona 302
## 215 Alfés Lleida 300
## 216 Rupià Girona 300
## 217 Molar, El Tarragona 296
## 218 Masarac i Vilarnadal Girona 294
## 219 Pinós Lleida 291
## 220 Talavera Lleida 291
## 221 Foixà Girona 288
## 222 Lles de Cerdanya Lleida 286
## 223 Masó, La Tarragona 285
## 224 Bòrdes, Es Lleida 282
## 225 Riner Lleida 280
## 226 Cabanelles Girona 279
## 227 Guiamets, Els Tarragona 279
## 228 Coma i la Pedra, La Lleida 278
## 229 Crespià Girona 276
## 230 Pontós Girona 274
## 231 Valls d'Aguilar, Les Lleida 274
## 232 Bellmunt del Priorat Tarragona 272
## 233 Malla Barcelona 272
## 234 Regencós Girona 271
## 235 Das Girona 267
## 236 Sant Llorenç de la Muga Girona 267
## 237 Fígols i Alinyà Lleida 266
## 238 Prullans Lleida 264
## 239 Gavet de la Conca Lleida 261
## 240 Guimerà Lleida 261
## 241 Sant Martí Vell Girona 261
## 242 Prats i Sansor Lleida 260
## 243 Boadella i les Escaules Girona 258
## 244 Sant Ferriol Girona 256
## 245 Lladorre Lleida 254
## 246 Puigverd d'Agramunt Lleida 253
## 247 Odèn Lleida 252
## 248 Ullastret Girona 250
## 249 Biure Girona 249
## 250 Espinelves Girona 248
## 251 Riumors Girona 244
## 252 Rocafort de Queralt Tarragona 241
## 253 Sant Miquel de Campmajor Girona 239
## 254 Gratallops Tarragona 236
## 255 Maldà Lleida 234
## 256 Caseres Tarragona 233
## 257 Serra de Daró Girona 233
## 258 Duesaigües Tarragona 232
## 259 Baronia de Rialb, La Lleida 229
## 260 Vallbona de les Monges Lleida 227
## 261 Piles, Les Tarragona 224
## 262 Ultramort Girona 224
## 263 Bassella Lleida 223
## 264 Vilopriu Girona 223
## 265 Ogassa Girona 222
## 266 Vallfogona de Ripollès Girona 222
## 267 Massoteres Lleida 220
## 268 Selva de Mar, La Girona 220
## 269 Bisbal de Montsant, La Tarragona 219
## 270 Sora Barcelona 219
## 271 Viladasens Girona 216
## 272 Urús Girona 214
## 273 Rabós Girona 210
## 274 Pobla de Cérvoles, La Lleida 209
## 275 Llosses, Les Girona 205
## 276 Colomers Girona 204
## 277 Vilamaniscle Girona 204
## 278 Beuda Girona 202
## 279 Llobera Lleida 202
## 280 Mollet de Peralada Girona 202
## 281 Vilella Baixa, La Tarragona 202
## 282 Gombrèn Girona 200
## 283 Setcases Girona 200
## 284 Vilanova de l'Aguda Lleida 200
## 285 Omellons, Els Lleida 198
## 286 Garidells, Els Tarragona 196
## 287 Oliola Lleida 196
## 288 Vilosell, El Lleida 195
## 289 Ossó de Sió Lleida 193
## 290 Foradada Lleida 191
## 291 Queralbs Girona 191
## 292 Ciutadilla Lleida 190
## 293 Lladurs Lleida 190
## 294 Pinell de Solsonès Lleida 190
## 295 Milà, El Tarragona 189
## 296 Gallifa Barcelona 186
## 297 Prat de Comte Tarragona 186
## 298 Santa Cecília de Voltregà Barcelona 185
## 299 Toses Girona 185
## 300 Biosca Lleida 182
## 301 Sant Guim de la Plana Lleida 182
## 302 Pedret i Marzà Girona 181
## 303 Vidrà Girona 181
## 304 Albanyà Girona 180
## 305 Montoliu de Segarra Lleida 180
## 306 Bellmunt d'Urgell Lleida 178
## 307 Siurana Girona 178
## 308 Garrigoles Girona 177
## 309 Tarroja de Segarra Lleida 175
## 310 Mont-ral Tarragona 173
## 311 Colldejou Tarragona 172
## 312 Pradell de la Teixeta Tarragona 172
## 313 Vilamòs Lleida 172
## 314 Castell de Mur Lleida 171
## 315 Passanant i Belltall Tarragona 170
## 316 Estaràs Lleida 169
## 317 Sales de Llierca Girona 169
## 318 Abella de la Conca Lleida 167
## 319 Oluges, Les Lleida 166
## 320 Torrent Girona 166
## 321 Vansa i Fórnols, La Lleida 166
## 322 Pardines Girona 165
## 323 Fontanilles Girona 163
## 324 Pont de Bar, El Lleida 163
## 325 Campelles Girona 162
## 326 Clariana de Cardener Lleida 162
## 327 Sant Andreu Salou Girona 162
## 328 Vilaür Girona 162
## 329 Senterada Lleida 161
## 330 Morera de Montsant, La Tarragona 160
## 331 Sant Mori Girona 159
## 332 Santa Maria de Besora Barcelona 159
## 333 Granyena de Segarra Lleida 157
## 334 Floresta, La Lleida 154
## 335 Renau Tarragona 152
## 336 Cogul, El Lleida 151
## 337 Torms, Els Lleida 149
## 338 Granyena de les Garrigues Lleida 147
## 339 Llimiana Lleida 146
## 340 Torroja del Priorat Tarragona 141
## 341 Granyanella Lleida 136
## 342 Vilella Alta, La Tarragona 136
## 343 Castellar de la Ribera Lleida 135
## 344 Pontils Tarragona 133
## 345 Guixers Lleida 132
## 346 Tírvia Lleida 132
## 347 Estamariu Lleida 128
## 348 Omells de na Gaia, Els Lleida 127
## 349 Argentera, L' Tarragona 126
## 350 Torre de Fontaubella, La Tarragona 125
## 351 Figuera, La Tarragona 123
## 352 Sant Esteve de la Sarga Lleida 123
## 353 Arbolí Tarragona 122
## 354 Alòs de Balaguer Lleida 121
## 355 Capafonts Tarragona 121
## 356 Farrera Lleida 121
## 357 Sant Martí d'Albars Barcelona 119
## 358 Tavertet Barcelona 116
## 359 Palau de Santa Eulàlia Girona 115
## 360 Sarroca de Bellera Lleida 113
## 361 Meranges Girona 111
## 362 Conesa Tarragona 109
## 363 Margalef Tarragona 107
## 364 Vilanova de Prades Tarragona 107
## 365 Josa i Tuixén Lleida 105
## 366 Tarrés Lleida 105
## 367 Lloar, El Tarragona 104
## 368 Ivorra Lleida 100
## 369 Riu de Cerdanya Lleida 100
## 370 Sant Agustí de Lluçanès Barcelona 100
## 371 Molsosa, La Lleida 99
## 372 Cabó Lleida 98
## 373 Fulleda Lleida 98
## 374 Llorac Tarragona 96
## 375 Susqueda Girona 96
## 376 Nalec Lleida 95
## 377 Canejan Lleida 92
## 378 Montornès de Segarra Lleida 92
## 379 Sant Sadurní d'Osormort Barcelona 90
## 380 Vallfogona de Riucorb Tarragona 89
## 381 Vallclara Tarragona 88
## 382 Vajol, La Girona 87
## 383 Sobremunt Barcelona 83
## 384 Arsèguel Lleida 80
## 385 Granera Barcelona 80
## 386 Bellprat Barcelona 74
## 387 Tiurana Lleida 71
## 388 Castell de l'Areny Barcelona 69
## 389 Bausen Lleida 66
## 390 Cabanabona Lleida 62
## 391 Esterri de Cardós Lleida 62
## 392 Arres Lleida 61
## 393 Savallà del Comtat Tarragona 52
## 394 Cava Lleida 51
## 395 Forès Tarragona 48
## 396 Senan Tarragona 44
## 397 Febró, La Tarragona 39
## 398 Gisclareny Barcelona 28
sense.biblioteca <- data %>%
filter(is.na(Biblioteques.Directori)) %>%
group_by(Provincia) %>%
summarise(
municipis = n(),
habitants = sum(Habitants, na.rm = TRUE))
sense.biblioteca %>%
ggplot(aes(x = reorder(Provincia, habitants), y = habitants)) +
geom_col(fill = "steelblue", width = 0.5) +
geom_text(aes(label = scales::comma(habitants, big.mark = ".", decimal.mark = ",")),
color = "white",
hjust = 1.1,
size = 3.5) +
coord_flip() +
labs(x = "Província",
y = "Habitants") +
scale_y_continuous(labels = label_comma(big.mark = ".", decimal.mark = ","),
limits = c(0, 100000)) +
theme_minimal()
Les dades d’aquest apartat i els següents procedeixen del Portal d’Estadístiques.
data.bib <- data %>%
filter(Biblioteques > 0)
data.bib %>%
group_by(Provincia) %>%
summarise(
Biblioteques = sum(Biblioteques, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = round((Biblioteques / Habitants) * 100000, 1)) %>%
bind_rows(
summarise(data.bib,
Provincia = "Total",
Biblioteques = sum(Biblioteques, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE)) %>%
mutate(Ratio = round((Biblioteques / Habitants) * 100000, 1)) )
## # A tibble: 5 × 4
## Provincia Biblioteques Habitants Ratio
## <chr> <dbl> <dbl> <dbl>
## 1 Barcelona 236 5500174 4.3
## 2 Girona 67 671532 10
## 3 Lleida 49 334941 14.6
## 4 Tarragona 81 747066 10.8
## 5 Total 433 7253713 6
data.bib %>%
group_by(Provincia) %>%
summarise(
Llocs = sum(Llocs, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = round((Llocs / Habitants) * 1000,1)) %>%
bind_rows(
summarise(data.bib,
Provincia = "Total",
Llocs = sum(Llocs, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = round((Llocs / Habitants) * 1000,1)))
## # A tibble: 5 × 4
## Provincia Llocs Habitants Ratio
## <chr> <dbl> <dbl> <dbl>
## 1 Barcelona 26992 5500174 4.9
## 2 Girona 4715 671532 7
## 3 Lleida 3335 334941 10
## 4 Tarragona 5418 747066 7.3
## 5 Total 40460 7253713 5.6
data.bib %>%
group_by(Provincia) %>%
summarise(
Ordinadors = sum(Ordinadors, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = round((Ordinadors / Habitants) * 1000,1)) %>%
bind_rows(
summarise(data.bib,
Provincia = "Total",
Ordinadors = sum(Ordinadors, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = round((Ordinadors / Habitants) * 1000,1)))
## # A tibble: 5 × 4
## Provincia Ordinadors Habitants Ratio
## <chr> <dbl> <dbl> <dbl>
## 1 Barcelona 4334 5500174 0.8
## 2 Girona 622 671532 0.9
## 3 Lleida 315 334941 0.9
## 4 Tarragona 636 747066 0.9
## 5 Total 5907 7253713 0.8
data.bib %>%
group_by(Provincia) %>%
summarise(
Fons = sum(Fons, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = (Fons / Habitants) ) %>%
bind_rows(
summarise(data.bib,
Provincia = "Total",
Fons = sum(Fons, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = (Fons / Habitants)))
## # A tibble: 5 × 4
## Provincia Fons Habitants Ratio
## <chr> <dbl> <dbl> <dbl>
## 1 Barcelona 9778312 5500174 1.78
## 2 Girona 2170888 671532 3.23
## 3 Lleida 1121701 334941 3.35
## 4 Tarragona 2087247 747066 2.79
## 5 Total 15158148 7253713 2.09
franges.pob <- data.bib %>%
mutate(franja_poblacio = case_when(
Habitants <= 3000 ~ "1. Menys de 3.000",
Habitants <= 20000 ~ "2. 3.000-20.000",
Habitants <= 200000 ~ "3. 20.000-200.000",
TRUE ~ "4. Més de 200.000" ))
franges.pob %>%
group_by(Provincia, franja_poblacio) %>%
summarise(
Municipis = n(),
Fons = sum(Fons, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Resultat = (Fons / Habitants) ) %>%
bind_rows(
summarise(franges.pob,
franja_poblacio = "Total",
Fons = sum(Fons, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Resultat = (Fons / Habitants)) ) %>%
print(n = Inf)
## # A tibble: 14 × 6
## # Groups: Provincia [5]
## Provincia franja_poblacio Municipis Fons Habitants Resultat
## <chr> <chr> <int> <dbl> <dbl> <dbl>
## 1 Barcelona 1. Menys de 3.000 8 122491 17104 7.16
## 2 Barcelona 2. 3.000-20.000 95 2918001 928349 3.14
## 3 Barcelona 3. 20.000-200.000 42 3308888 1989704 1.66
## 4 Barcelona 4. Més de 200.000 5 3428932 2565017 1.34
## 5 Girona 1. Menys de 3.000 10 87473 17038 5.13
## 6 Girona 2. 3.000-20.000 39 1042082 290255 3.59
## 7 Girona 3. 20.000-200.000 9 1041333 364239 2.86
## 8 Lleida 1. Menys de 3.000 27 248143 40422 6.14
## 9 Lleida 2. 3.000-20.000 20 625696 153722 4.07
## 10 Lleida 3. 20.000-200.000 1 247862 140797 1.76
## 11 Tarragona 1. Menys de 3.000 22 201708 32138 6.28
## 12 Tarragona 2. 3.000-20.000 37 902099 237322 3.80
## 13 Tarragona 3. 20.000-200.000 10 983440 477606 2.06
## 14 <NA> Total NA 15158148 7253713 2.09
franges.pob <- franges.pob %>%
mutate(fons_hab = round(Fons / Habitants, 1)) %>%
mutate(perc_usu = round(Usuaris.actius / Habitants * 100, 1))
resum.fons <- franges.pob %>%
group_by(franja_poblacio) %>%
summarise(
casos_superan_umbral = sum(
fons_hab >= case_when(
franja_poblacio == "1. Menys de 3.000" ~ 3,
franja_poblacio == "2. 3.000-20.000" ~ 2.5,
franja_poblacio == "3. 20.000-200.000" ~ 2,
franja_poblacio == "4. Més de 200.000" ~ 1.5,
TRUE ~ NA_real_
),
na.rm = TRUE
),
casos_no_superan_umbral = sum(
fons_hab < case_when(
franja_poblacio == "1. Menys de 3.000" ~ 3,
franja_poblacio == "2. 3.000-20.000" ~ 2.5,
franja_poblacio == "3. 20.000-200.000" ~ 2,
franja_poblacio == "4. Més de 200.000" ~ 1.5,
TRUE ~ NA_real_
),
na.rm = TRUE
),
total = casos_superan_umbral + casos_no_superan_umbral,
pct_superen = round(casos_superan_umbral / total * 100, 1),
pct_no_superen = round(casos_no_superan_umbral / total * 100, 1)
)
resum.fons %>%
select(franja_poblacio, pct_superen, pct_no_superen) %>%
pivot_longer(
cols = starts_with("pct_"),
names_to = "situacio",
values_to = "percentatge"
) %>%
mutate(
situacio = recode(
situacio,
"pct_superen" = "Compleixen ràtio MLPC",
"pct_no_superen" = "No compleixen ràtio MLPC"
),
situacio = factor(situacio, levels = c("No compleixen ràtio MLPC", "Compleixen ràtio MLPC")),
etiqueta = paste0(percentatge, "%")
) %>%
ggplot(aes(x = fct_rev(franja_poblacio), y = percentatge, fill = situacio)) + # Invertir orden de barras
geom_col(position = "stack", width = 0.5) +
geom_text(
aes(label = etiqueta),
position = position_stack(vjust = 0.5),
color = "white",
size = 4
) +
coord_flip() +
scale_y_continuous(labels = label_percent(scale = 1, suffix = "%")) +
scale_fill_manual(
values = c(
"Compleixen ràtio MLPC" = "darkgreen",
"No compleixen ràtio MLPC" = "firebrick"
)
) +
guides(fill = guide_legend(reverse = TRUE)) +
labs(
x = "Població",
y = "Percentatge de municipis",
fill = ""
) +
theme_minimal() +
theme(legend.position = "top")
franges.pob %>%
group_by(Provincia, franja_poblacio) %>%
summarise(
usuaris = sum(Usuaris.actius, na.rm = TRUE),
habitants = sum(Habitants, na.rm = TRUE)
) %>%
mutate(resultat = round((usuaris / habitants) * 100, 1)) %>%
bind_rows(
summarise(data.bib,
Provincia = "Total",
franja_poblacio = "Total",
usuaris = sum(Usuaris.actius, na.rm = TRUE),
habitants = sum(Habitants, na.rm = TRUE)
) %>%
mutate(resultat = round((usuaris / habitants) * 100, 1))
) %>%
print(n = Inf)
## # A tibble: 14 × 5
## # Groups: Provincia [5]
## Provincia franja_poblacio usuaris habitants resultat
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 Barcelona 1. Menys de 3.000 3230 17104 18.9
## 2 Barcelona 2. 3.000-20.000 117211 928349 12.6
## 3 Barcelona 3. 20.000-200.000 205463 1989704 10.3
## 4 Barcelona 4. Més de 200.000 268021 2565017 10.4
## 5 Girona 1. Menys de 3.000 2205 17038 12.9
## 6 Girona 2. 3.000-20.000 44372 290255 15.3
## 7 Girona 3. 20.000-200.000 52669 364239 14.5
## 8 Lleida 1. Menys de 3.000 6212 40422 15.4
## 9 Lleida 2. 3.000-20.000 22716 153722 14.8
## 10 Lleida 3. 20.000-200.000 11496 140797 8.2
## 11 Tarragona 1. Menys de 3.000 3749 32138 11.7
## 12 Tarragona 2. 3.000-20.000 27708 237322 11.7
## 13 Tarragona 3. 20.000-200.000 43219 477606 9
## 14 Total Total 808271 7253713 11.1
ggplot(
franges.pob %>% drop_na(fons_hab, perc_usu, franja_poblacio),
aes(x = fons_hab, y = perc_usu)
) +
geom_point(aes(color = franja_poblacio), size = 2, alpha = 0.7) +
geom_smooth(method = "lm", se = FALSE, color = "blue") +
scale_y_continuous(
labels = label_percent(scale = 1, accuracy = 1),
limits = c(0, 50)
) +
labs(
x = "Documents per habitant",
y = "Percentatge d'usuaris actius",
color = "Franja de població"
) +
theme_minimal() +
theme(
legend.position = "right",
legend.title = element_text(size = 10),
legend.text = element_text(size = 9)
)
franges.pob %>%
group_by(franja_poblacio) %>%
summarise(
Prestecs = sum(Prestecs, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE)
) %>%
mutate(resultat = round(Prestecs / Habitants, 1)) %>%
bind_rows(
summarise(data.bib,
franja_poblacio = "Total", # Para mantener la estructura
Prestecs = sum(Prestecs, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE)) %>%
mutate(resultat = round(Prestecs / Habitants, 1))
) %>%
print(n = Inf)
## # A tibble: 5 × 4
## franja_poblacio Prestecs Habitants resultat
## <chr> <dbl> <dbl> <dbl>
## 1 1. Menys de 3.000 252336 106702 2.4
## 2 2. 3.000-20.000 3693061 1609648 2.3
## 3 3. 20.000-200.000 5072712 2972346 1.7
## 4 4. Més de 200.000 4671410 2565017 1.8
## 5 Total 13689519 7253713 1.9
ggplot(
franges.pob %>% drop_na(Renda, fons_hab),
aes(x = Renda, y = fons_hab)
) +
geom_point(size = 2, alpha = 0.7) +
labs(
x = "Renda",
y = "Fons per habitant"
) +
scale_y_continuous(limits = c(0, 20)) +
theme_minimal()
ggplot(
franges.pob %>% drop_na(Renda, perc_usu),
aes(x = Renda, y = perc_usu)
) +
geom_point(size = 2, alpha = 0.7) +
scale_y_continuous(
labels = label_percent(scale = 1, accuracy = 1),
limits = c(0, 40)
) +
labs(
x = "Renda",
y = "Percentatge d'usuaris"
) +
theme_minimal()
data.bib %>%
group_by(Provincia) %>%
summarise(
Activitats = sum(Activitats.sessions, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = round((Activitats / Habitants) *1000, 1)) %>%
bind_rows(
summarise(data.bib,
Provincia = "Total",
Activitats = sum(Activitats.sessions, na.rm = TRUE),
Habitants = sum(Habitants, na.rm = TRUE) ) %>%
mutate(Ratio = round((Activitats / Habitants) * 1000, 1)) )
## # A tibble: 5 × 4
## Provincia Activitats Habitants Ratio
## <chr> <dbl> <dbl> <dbl>
## 1 Barcelona 46710 5500174 8.5
## 2 Girona 8066 671532 12
## 3 Lleida 3821 334941 11.4
## 4 Tarragona 9131 747066 12.2
## 5 Total 67728 7253713 9.3
data.bib %>%
group_by(Provincia) %>%
summarise(
Assistents = sum(Activitats.assistents, na.rm = TRUE),
Activitats = sum(Activitats.sessions, na.rm = TRUE) ) %>%
mutate(Ratio = round(Assistents / Activitats, 1)) %>%
bind_rows(
summarise(data.bib,
Provincia = "Total",
Assistents = sum(Activitats.assistents, na.rm = TRUE),
Activitats = sum(Activitats.sessions, na.rm = TRUE) ) %>%
mutate(Ratio = round(Assistents / Activitats, 1)) )
## # A tibble: 5 × 4
## Provincia Assistents Activitats Ratio
## <chr> <dbl> <dbl> <dbl>
## 1 Barcelona 836056 46710 17.9
## 2 Girona 195774 8066 24.3
## 3 Lleida 95641 3821 25
## 4 Tarragona 189190 9131 20.7
## 5 Total 1316661 67728 19.4