1 Pacotes utilizados


Nesta análise foram usados os seguintes pacotes:

library(tidyverse)
library(ggrepel)
library(bookdown)
library(lubridate)
library(rnaturalearth)
library(sf)
library(ggmap)
library(ggflags)
library(plotly)
library(waffle)
library(gganimate)
library(knitr)
library(kableExtra)
library(DT)
library(leaflet)
library(countrycode)
library(ggforce)
library(viridis)
library(patchwork)



2 Como foi a participação dos países ao longo da história das Olimpíadas

Não importa se ganhou ou se perdeu. O que importa, é participar. Vamos então checar como tem sido a participação dos diversos países ao longo da história

Na tabela dá para ver que os países que mais participaram foram: França, Grã-Bretanha, Grécia, Itália, Suiça e Estados Unidos.

Já os países que menos tiveram representantes ao longo das edições dos jogos olímpicos:

Sigla País Participação em Olímpiadas
SUI Switzerland-1 1
SUI Switzerland-2 1
THA Linglom 1
TPE Chinese Taipei-1 1
UAR United Arab Republic 1
UNK Unknown 1
USA United States-1 1
USA Vesper Boat Club 1
WIF Circus 1
YMD South Yemen 1

E o Brasil, participou de quantas olimpíadas?

Sigla País Participação em Olímpiadas
BRA Brazil 29

3 Política & Olimpíadas

Os jogos de 1968 (Cidade do México) foram palco de uma manifestação política que entrou para história.

Primeiro, vamos ao pódio:

Nome Ano Cidade Evento Medalha
Tommie C. Smith 1968 Mexico City Athletics Men’s 200 metres Gold
Peter George Norman 1968 Mexico City Athletics Men’s 200 metres Silver
John Wesley Carlos 1968 Mexico City Athletics Men’s 200 metres Bronze

Depois, explicamos o que aconteceu: num evento tensionado por problemas raciais que aconteciam nos Estados Unidos e no mundo da época, Tommie Smith e John Wesley Carlos fizeram a saudação com o braço levantado no pódio, no estilo black power com uma luva negra na mão. Causaram uma grande controvérsia mundial e o fizeram ser expulso dos Jogos pelos dirigentes do Comitê Olímpico dos Estados Unidos 1.

Atitude!. Se tivessem ficado quietos, seriam “só” mais uns medalhistas. Ao se manifestarem, além de medalhistas: entraram para a história.

black_power

Nome País Ano Cidade Esporte Medalha
James Cleveland "“Jesse”" Owens USA 1936 Berlin Athletics Gold
James Cleveland "“Jesse”" Owens USA 1936 Berlin Athletics Gold
James Cleveland "“Jesse”" Owens USA 1936 Berlin Athletics Gold
James Cleveland "“Jesse”" Owens USA 1936 Berlin Athletics Gold

E por falar em política, as Olimpíadas de 1936 também foram marcantes. Às vésperas da Segunda Guerra Mundial (1940-1945), a Alemanha nazista de Hitler enxergava no evento uma forma de mostrar ao mundo seu poderio. A Alemanha não mediu esforços para que o mundo visse um país forte, refazendo todo uma imagem de derrota que ela tinha vivido depois da Primeira Guerra. O governo alemão não poupou gastos: foram 30 milhões de dólares somente na construção do Estádio Olímpico. A estrutura dos jogos foi impecável e considerada por muitos como a melhor já feita para o evento até então 2.

As tensões políticas da época, contudo, não tardaram a se refletir no esporte. O estadunidense Jesse Owens se tornou uma lenda após ganhar quatro medalhas de ouro no atletismo – Hitler se recusou a entregar-lhe as medalhas e deixou o estádio. Outro episódio é o da equipe de remo dos Estados Unidos, com jovens humildes vindos da Universidade de Washington e vítimas da Grande Depressão de 1929, que derrotaram o barco alemão e se sagraram campeões também na frente de Hitler.


Pois é! O cara simplesmente conquistou medalha de ouro em todas as provas que disputou. Foda-se o nazismo.


4 Quantas medalhas teve cada país?

Quando se trata de Olimpíadas, uma primeira pergunta que vem à mente é: quantas medalhas tiveram cada país nas diversas edições?

Na Tabela 4.1 temos um exemplo do quantitativo de medalhas que cada país obteve desde a primeira olimpíada.

Table 4.1: Número de medalhas por país (1896-2016)
Ano País Nº de medalhas
1896 GRE 48
1896 DEU 32
1896 USA 20
1896 FRA 11
1896 GBR 9
1896 DEN 6
1896 HUN 6
1896 AUT 5
1896 AUS 3
1896 SUI 3
1900 FRA 235
1900 GBR 108
1900 USA 63
1900 DEU 45
1900 BEL 43
1900 NED 27
1900 SUI 21
1900 DEN 9
1900 NOR 9
1900 AUS 6
1900 AUT 6
1900 HUN 5
1900 ITA 5
1900 SWE 4
1900 BOH 3
1900 MEX 3
1900 CAN 2
1900 CUB 2
1900 ESP 2
1900 IND 2
1900 COL 1
1900 HAI 1
1900 LUX 1
1900 NZL 1
1904 USA 394
1904 CAN 48
1904 DEU 16
1904 CUB 5
1904 AUS 4
1904 AUT 4
1904 HUN 4
1904 SUI 3
1904 FRA 2
1904 GBR 2
1904 GRE 2
1904 NOR 2
1906 GRE 102
1906 FRA 64
1906 ITA 56
1906 GBR 39
1906 DEN 34
1906 DEU 30
1906 NOR 25
1906 USA 24
1906 SWE 21
1906 HUN 13
1906 SUI 12
1906 BEL 11
1906 AUT 9
1906 NED 6
1906 FIN 4
1906 AUS 3
1906 BOH 3
1906 CAN 2
1908 GBR 368
1908 SWE 84
1908 USA 65
1908 CAN 52
1908 NOR 42
1908 FRA 40
1908 BEL 33
1908 FIN 30
1908 DEU 21
1908 HUN 20
1908 ANZ 19
1908 DEN 17
1908 NED 16
1908 ITA 8
1908 BOH 6
1908 GRE 4
1908 RUS 3
1908 RSA 2
1908 AUT 1
1912 SWE 190
1912 GBR 170
1912 USA 107
1912 DEN 87
1912 NOR 80
1912 FIN 71
1912 DEU 53
1912 HUN 30
1912 FRA 26
1912 NED 26
1912 ITA 25
1912 BEL 19
1912 AUT 14
1912 RUS 14
1912 ANZ 10
1912 CAN 8
1912 RSA 7
1912 GRE 2
1912 SUI 2
1920 USA 194
1920 BEL 188
1920 SWE 154
1920 FRA 141
1920 NOR 137
1920 GBR 111
1920 ITA 84
1920 DEN 71
1920 FIN 52
1920 NED 50
1920 SUI 29
1920 ESP 23
1920 RSA 21
1920 CAN 16
1920 TCH 10
1920 AUS 7
1920 BRA 7
1920 GRE 5
1920 EST 3
1920 JPN 3
1920 LUX 1
1920 NZL 1
1924 USA 194
1924 FRA 120
1924 GBR 95
1924 SWE 81
1924 SUI 69
1924 FIN 67
1924 ITA 51
1924 BEL 44
1924 NOR 39
1924 CAN 29
1924 NED 27
1924 HUN 22
1924 ROU 16
1924 DEN 14
1924 URU 14
1924 AUS 11
1924 ARG 10
1924 TCH 10
1924 AUT 8
1924 IND 7
1924 EST 6
1924 HAI 5
1924 POL 5
1924 POR 4
1924 RSA 3
1924 IRL 2
1924 LUX 2
1924 YUG 2
1924 GRE 1
1924 JPN 1
1924 MON 1
1924 NEP 1
1924 NZL 1
1928 USA 102
1928 DEU 82
1928 ITA 72
1928 GBR 59
1928 NED 57
1928 SWE 53
1928 FRA 52
1928 CAN 45
1928 SUI 42
1928 FIN 29
1928 ARG 26
1928 NOR 24
1928 HUN 21
1928 POL 20
1928 TCH 17
1928 URU 17
1928 DEN 15
1928 IND 14
1928 YUG 12
1928 AUT 11
1928 EST 9
1928 JPN 9
1928 BEL 6
1928 POR 6
1928 RSA 6
1928 AUS 4
1928 EGY 4
1928 ESP 3
1928 CHI 1
1928 HAI 1
1928 IRL 1
1928 LUX 1
1928 NZL 1
1928 PHI 1
1932 USA 223
1932 ITA 77
1932 CAN 59
1932 DEU 57
1932 FRA 42
1932 GBR 35
1932 HUN 35
1932 SWE 35
1932 FIN 32
1932 JPN 31
1932 POL 21
1932 IND 15
1932 NED 13
1932 DEN 11
1932 NOR 10
1932 AUT 7
1932 TCH 6
1932 AUS 5
1932 RSA 5
1932 ARG 4
1932 PHI 3
1932 SUI 3
1932 IRL 2
1932 MEX 2
1932 NZL 2
1932 BEL 1
1932 ESP 1
1932 LAT 1
1932 URU 1
1936 DEU 231
1936 USA 112
1936 ITA 76
1936 SUI 62
1936 AUT 60
1936 GBR 53
1936 NOR 46
1936 FRA 45
1936 SWE 45
1936 HUN 43
1936 NED 37
1936 FIN 36
1936 CAN 35
1936 JPN 23
1936 IND 19
1936 TCH 18
1936 MEX 16
1936 BEL 14
1936 POL 12
1936 ARG 11
1936 EST 7
1936 DEN 6
1936 EGY 5
1936 POR 3
1936 LAT 2
1936 TUR 2
1936 AUS 1
1936 NZL 1
1936 PHI 1
1936 ROU 1
1936 RSA 1
1936 YUG 1
1948 USA 168
1948 SWE 88
1948 FRA 77
1948 ITA 68
1948 HUN 64
1948 SUI 64
1948 GBR 63
1948 DEN 51
1948 FIN 42
1948 NED 42
1948 TCH 37
1948 NOR 31
1948 CAN 22
1948 BEL 21
1948 IND 20
1948 AUS 16
1948 AUT 16
1948 YUG 16
1948 TUR 12
1948 ARG 11
1948 BRA 10
1948 MEX 9
1948 RSA 6
1948 EGY 5
1948 POR 5
1948 ESP 3
1948 JAM 3
1948 URU 3
1948 CUB 2
1948 KOR 2
1948 PAN 2
1948 POL 2
1948 IRI 1
1948 IRL 1
1948 PER 1
1948 PUR 1
1948 SRI 1
1948 TTO 1
1952 USA 164
1952 RUS 117
1952 HUN 104
1952 SWE 93
1952 ITA 56
1952 DEU 52
1952 FIN 52
1952 FRA 41
1952 SUI 39
1952 GBR 32
1952 NOR 32
1952 TCH 25
1952 YUG 24
1952 CAN 21
1952 NED 21
1952 AUS 20
1952 IND 15
1952 RSA 14
1952 URU 14
1952 JPN 12
1952 AUT 11
1952 DEN 9
1952 BEL 8
1952 JAM 8
1952 IRI 7
1952 ARG 6
1952 CHI 4
1952 POL 4
1952 ROU 4
1952 BRA 3
1952 NZL 3
1952 TUR 3
1952 KOR 2
1952 LIB 2
1952 POR 2
1952 TTO 2
1952 BUL 1
1952 EGY 1
1952 ESP 1
1952 IRL 1
1952 LUX 1
1952 MEX 1
1952 VEN 1
1956 RUS 206
1956 USA 149
1956 AUS 67
1956 HUN 66
1956 ITA 55
1956 DEU 54
1956 SWE 49
1956 GBR 46
1956 CAN 39
1956 FIN 38
1956 FRA 33
1956 JPN 25
1956 YUG 23
1956 POL 20
1956 ROU 19
1956 BUL 18
1956 IND 17
1956 AUT 16
1956 PAK 14
1956 SUI 13
1956 URU 12
1956 NOR 7
1956 RSA 7
1956 TCH 7
1956 TUR 7
1956 DEN 6
1956 IRI 5
1956 IRL 5
1956 CHI 4
1956 NZL 3
1956 ARG 2
1956 BAH 2
1956 BEL 2
1956 KOR 2
1956 MEX 2
1956 BRA 1
1956 GRE 1
1956 ISL 1
1960 RUS 211
1960 USA 152
1960 DEU 98
1960 ITA 89
1960 HUN 66
1960 AUS 46
1960 POL 32
1960 JPN 31
1960 CAN 30
1960 GBR 28
1960 DEN 23
1960 TCH 23
1960 FIN 19
1960 YUG 17
1960 SWE 16
1960 FRA 15
1960 ROU 15
1960 ESP 14
1960 PAK 14
1960 SUI 14
1960 BRA 13
1960 IND 13
1960 NOR 11
1960 AUT 9
1960 TUR 9
1960 BUL 7
1960 NED 5
1960 WIF 5
1960 ARG 4
1960 BEL 4
1960 IRI 4
1960 GRE 3
1960 NZL 3
1960 RSA 3
1960 POR 2
1960 UAR 2
1960 ETH 1
1960 GHA 1
1960 IRQ 1
1960 MAR 1
1960 MEX 1
1960 SGP 1
1960 TPE 1
1960 VEN 1
1964 RUS 221
1964 USA 177
1964 DEU 126
1964 TCH 71
1964 JPN 62
1964 ITA 61
1964 HUN 56
1964 POL 46
1964 AUS 44
1964 SWE 43
1964 FRA 38
1964 NED 33
1964 GBR 30
1964 FIN 20
1964 AUT 17
1964 PAK 16
1964 ROU 16
1964 IND 15
1964 NOR 15
1964 YUG 15
1964 BRA 12
1964 CAN 12
1964 DEN 12
1964 BUL 10
1964 NZL 6
1964 SUI 6
1964 TTO 6
1964 TUR 6
1964 BEL 3
1964 KOR 3
1964 BAH 2
1964 IRI 2
1964 TUN 2
1964 ARG 1
1964 CUB 1
1964 ETH 1
1964 GHA 1
1964 IRL 1
1964 KEN 1
1964 MEX 1
1964 NGR 1
1964 PHI 1
1964 PRK 1
1964 URU 1
1968 RUS 229
1968 USA 173
1968 DEU 119
1968 HUN 81
1968 JPN 63
1968 AUS 51
1968 TCH 50
1968 ITA 41
1968 POL 37
1968 FRA 36
1968 CAN 30
1968 YUG 29
1968 NOR 28
1968 BUL 26
1968 ROU 25
1968 SWE 25
1968 NED 23
1968 SUI 22
1968 AUT 20
1968 GBR 19
1968 DEN 17
1968 IND 16
1968 PAK 13
1968 FIN 12
1968 KEN 12
1968 CUB 10
1968 MEX 9
1968 NZL 7
1968 IRI 5
1968 BRA 4
1968 MGL 4
1968 BEL 3
1968 ARG 2
1968 ETH 2
1968 KOR 2
1968 TUN 2
1968 TUR 2
1968 UGA 2
1968 CMR 1
1968 GRE 1
1968 JAM 1
1968 TPE 1
1968 VEN 1
1972 DEU 283
1972 RUS 259
1972 USA 195
1972 HUN 81
1972 JPN 59
1972 TCH 49
1972 POL 47
1972 ROU 40
1972 ITA 34
1972 GBR 29
1972 SWE 26
1972 FRA 25
1972 NOR 25
1972 SUI 25
1972 BUL 22
1972 CUB 22
1972 AUS 20
1972 FIN 20
1972 YUG 18
1972 NED 15
1972 PAK 15
1972 PRK 15
1972 IND 14
1972 NZL 14
1972 CAN 12
1972 KEN 12
1972 AUT 8
1972 COL 3
1972 IRI 3
1972 BEL 2
1972 BRA 2
1972 ESP 2
1972 ETH 2
1972 GRE 2
1972 UGA 2
1972 ARG 1
1972 DEN 1
1972 GHA 1
1972 JAM 1
1972 KOR 1
1972 LIB 1
1972 MEX 1
1972 MGL 1
1972 NGR 1
1972 NIG 1
1972 TUN 1
1972 TUR 1
1976 RUS 342
1976 DEU 337
1976 USA 175
1976 POL 73
1976 HUN 55
1976 ROU 55
1976 JPN 41
1976 BUL 39
1976 ITA 35
1976 TCH 34
1976 GBR 33
1976 CAN 26
1976 NZL 25
1976 CUB 24
1976 AUS 23
1976 FIN 22
1976 FRA 21
1976 NED 20
1976 SUI 19
1976 YUG 19
1976 KOR 17
1976 NOR 16
1976 PAK 16
1976 SWE 12
1976 BEL 9
1976 AUT 8
1976 DEN 8
1976 ESP 6
1976 BRA 3
1976 IRI 2
1976 JAM 2
1976 LIE 2
1976 MEX 2
1976 POR 2
1976 PRK 2
1976 BER 1
1976 MGL 1
1976 PUR 1
1976 THA 1
1976 TTO 1
1976 VEN 1
1980 RUS 496
1980 DEU 311
1980 BUL 91
1980 ROU 68
1980 HUN 63
1980 YUG 57
1980 TCH 52
1980 POL 50
1980 GBR 48
1980 SWE 43
1980 ITA 40
1980 FRA 30
1980 USA 30
1980 ESP 24
1980 FIN 21
1980 CUB 20
1980 IND 16
1980 NOR 15
1980 ZIM 15
1980 AUS 13
1980 AUT 13
1980 SUI 11
1980 MEX 10
1980 NED 10
1980 BRA 9
1980 DEN 8
1980 GRE 5
1980 PRK 5
1980 ETH 4
1980 LIE 4
1980 MGL 4
1980 IRL 3
1980 JAM 3
1980 CAN 2
1980 TAN 2
1980 BEL 1
1980 GUY 1
1980 JPN 1
1980 LIB 1
1980 UGA 1
1980 VEN 1
1984 USA 361
1984 DEU 199
1984 ROU 106
1984 CAN 91
1984 YUG 88
1984 CHN 74
1984 GBR 73
1984 FRA 70
1984 ITA 65
1984 SWE 64
1984 RUS 56
1984 AUS 52
1984 JPN 50
1984 KOR 41
1984 NED 41
1984 BRA 36
1984 FIN 31
1984 TCH 28
1984 NZL 23
1984 SUI 21
1984 ESP 19
1984 NOR 19
1984 PAK 16
1984 DEN 13
1984 JAM 7
1984 MEX 6
1984 BEL 5
1984 NGR 5
1984 AUT 4
1984 KEN 3
1984 POR 3
1984 TUR 3
1984 VEN 3
1984 ALG 2
1984 GRE 2
1984 LIE 2
1984 MAR 2
1984 PUR 2
1984 CIV 1
1984 CMR 1
1984 COL 1
1984 DOM 1
1984 EGY 1
1984 IRL 1
1984 ISL 1
1984 PER 1
1984 SYR 1
1984 THA 1
1984 TPE 1
1984 ZAM 1
1988 RUS 366
1988 DEU 342
1988 USA 214
1988 KOR 77
1988 YUG 69
1988 ROU 58
1988 GBR 54
1988 CHN 52
1988 NED 52
1988 SWE 46
1988 HUN 44
1988 BUL 41
1988 FIN 38
1988 ITA 37
1988 AUS 35
1988 NOR 33
1988 FRA 31
1988 CAN 29
1988 SUI 28
1988 NZL 24
1988 BRA 23
1988 JPN 21
1988 POL 21
1988 TCH 16
1988 ARG 13
1988 AUT 13
1988 PER 12
1988 KEN 9
1988 DEN 7
1988 JAM 7
1988 ESP 5
1988 INA 3
1988 MAR 3
1988 BEL 2
1988 MEX 2
1988 TUR 2
1988 AHO 1
1988 CHI 1
1988 COL 1
1988 CRC 1
1988 DJI 1
1988 GRE 1
1988 IRI 1
1988 ISV 1
1988 LIE 1
1988 MGL 1
1988 PAK 1
1988 PHI 1
1988 POR 1
1988 SEN 1
1988 SUR 1
1988 THA 1
1992 RUS 279
1992 USA 238
1992 DEU 236
1992 CHN 85
1992 CAN 80
1992 ESP 70
1992 CUB 69
1992 FRA 69
1992 ITA 66
1992 JPN 59
1992 AUS 57
1992 KOR 56
1992 ROU 53
1992 GBR 50
1992 NOR 47
1992 POL 46
1992 HUN 45
1992 SWE 42
1992 NED 37
1992 AUT 35
1992 TCH 35
1992 FIN 20
1992 GHA 20
1992 TPE 20
1992 BUL 17
1992 NZL 16
1992 PAK 16
1992 CRO 15
1992 BRA 14
1992 DEN 14
1992 LTU 13
1992 NGR 11
1992 PRK 11
1992 KEN 8
1992 SUI 8
1992 INA 6
1992 SLO 6
1992 TUR 6
1992 JAM 4
1992 BEL 3
1992 EST 3
1992 ETH 3
1992 IOA 3
1992 IRI 3
1992 LAT 3
1992 MAR 3
1992 RSA 3
1992 ALG 2
1992 ARG 2
1992 GRE 2
1992 IRL 2
1992 ISR 2
1992 LUX 2
1992 MAS 2
1992 MGL 2
1992 NAM 2
1992 BAH 1
1992 COL 1
1992 MEX 1
1992 PER 1
1992 PHI 1
1992 PUR 1
1992 QAT 1
1992 SUR 1
1992 THA 1
1994 DEU 40
1994 CAN 37
1994 RUS 36
1994 ITA 32
1994 FIN 30
1994 NOR 30
1994 SWE 24
1994 USA 19
1994 SUI 16
1994 AUT 12
1994 FRA 11
1994 JPN 10
1994 KOR 9
1994 AUS 4
1994 NED 4
1994 CHN 3
1994 GBR 3
1994 KAZ 3
1994 SLO 3
1994 BLR 2
1994 UKR 2
1994 UZB 1
1996 USA 259
1996 AUS 132
1996 DEU 124
1996 RUS 115
1996 CHN 106
1996 NED 73
1996 ITA 71
1996 ESP 66
1996 KOR 66
1996 BRA 63
1996 CUB 55
1996 FRA 51
1996 CAN 50
1996 HUN 43
1996 JPN 42
1996 ROU 38
1996 UKR 34
1996 SWE 31
1996 CRO 28
1996 GBR 26
1996 SCG 26
1996 NGR 24
1996 BLR 23
1996 DEN 23
1996 NOR 23
1996 POL 22
1996 BUL 21
1996 ARG 20
1996 JAM 16
1996 CZE 13
1996 KAZ 11
1996 LTU 11
1996 SUI 11
1996 NZL 9
1996 GRE 8
1996 KEN 8
1996 BEL 6
1996 INA 6
1996 TUR 6
1996 BAH 5
1996 PRK 5
1996 RSA 5
1996 FIN 4
1996 IRL 4
1996 ALG 3
1996 AUT 3
1996 ETH 3
1996 IRI 3
1996 MAS 3
1996 MDA 3
1996 POR 3
1996 SVK 3
1996 ARM 2
1996 GEO 2
1996 MAR 2
1996 NAM 2
1996 SLO 2
1996 THA 2
1996 TTO 2
1996 UZB 2
1996 AZE 1
1996 BDI 1
1996 CRC 1
1996 ECU 1
1996 HKG 1
1996 IND 1
1996 ISR 1
1996 LAT 1
1996 MEX 1
1996 MGL 1
1996 MOZ 1
1996 PHI 1
1996 PUR 1
1996 SYR 1
1996 TGA 1
1996 TPE 1
1996 TUN 1
1996 UGA 1
1996 ZAM 1
1998 FIN 58
1998 RUS 52
1998 CAN 49
1998 DEU 44
1998 NOR 40
1998 USA 34
1998 CZE 23
1998 AUT 20
1998 ITA 17
1998 FRA 15
1998 CHN 14
1998 SUI 14
1998 JPN 13
1998 KOR 12
1998 NED 11
1998 SWE 7
1998 DEN 5
1998 GBR 4
1998 BLR 2
1998 KAZ 2
1998 AUS 1
1998 BEL 1
1998 BUL 1
1998 UKR 1
2000 USA 242
2000 RUS 187
2000 AUS 183
2000 DEU 118
2000 CHN 79
2000 NED 79
2000 KOR 73
2000 FRA 66
2000 CUB 65
2000 ITA 65
2000 GBR 54
2000 HUN 53
2000 BRA 48
2000 ROU 46
2000 JPN 44
2000 NOR 43
2000 ESP 42
2000 UKR 35
2000 SWE 32
2000 CAN 31
2000 DEN 25
2000 SCG 25
2000 POL 24
2000 JAM 23
2000 BLR 22
2000 ARG 20
2000 CMR 18
2000 GRE 18
2000 CHI 17
2000 LTU 17
2000 SUI 14
2000 BUL 13
2000 BAH 11
2000 CRO 10
2000 CZE 9
2000 ETH 8
2000 INA 8
2000 NGR 8
2000 BEL 7
2000 KAZ 7
2000 KEN 7
2000 GEO 6
2000 MEX 6
2000 SVK 6
2000 ALG 5
2000 FIN 5
2000 MAR 5
2000 RSA 5
2000 TPE 5
2000 TUR 5
2000 AUT 4
2000 IRI 4
2000 NZL 4
2000 PRK 4
2000 UZB 4
2000 AZE 3
2000 EST 3
2000 LAT 3
2000 SLO 3
2000 THA 3
2000 CRC 2
2000 KSA 2
2000 MDA 2
2000 POR 2
2000 TTO 2
2000 ARM 1
2000 BAR 1
2000 COL 1
2000 IND 1
2000 IRL 1
2000 ISL 1
2000 ISR 1
2000 KGZ 1
2000 KUW 1
2000 MKD 1
2000 MOZ 1
2000 QAT 1
2000 SRI 1
2000 URU 1
2000 VIE 1
2002 USA 84
2002 CAN 74
2002 DEU 61
2002 NOR 41
2002 RUS 38
2002 SWE 26
2002 SUI 24
2002 ITA 21
2002 AUT 20
2002 CHN 16
2002 FRA 15
2002 FIN 13
2002 NED 8
2002 KOR 7
2002 GBR 6
2002 CRO 4
2002 SLO 4
2002 BUL 3
2002 CZE 3
2002 EST 3
2002 AUS 2
2002 JPN 2
2002 POL 2
2002 BLR 1
2004 USA 263
2004 RUS 189
2004 AUS 157
2004 DEU 149
2004 ITA 104
2004 CHN 94
2004 JPN 93
2004 NED 77
2004 CUB 62
2004 GBR 57
2004 FRA 53
2004 KOR 52
2004 ARG 49
2004 UKR 47
2004 BRA 40
2004 HUN 40
2004 ROU 39
2004 GRE 31
2004 ESP 30
2004 DEN 29
2004 CRO 21
2004 BUL 17
2004 CAN 17
2004 PAR 17
2004 BLR 15
2004 CZE 13
2004 JAM 13
2004 SCG 13
2004 POL 12
2004 SWE 12
2004 TUR 11
2004 RSA 10
2004 SVK 10
2004 TPE 9
2004 AUT 8
2004 KAZ 8
2004 NGR 8
2004 THA 8
2004 ETH 7
2004 KEN 7
2004 NOR 7
2004 SUI 7
2004 IRI 6
2004 NZL 6
2004 AZE 5
2004 EGY 5
2004 INA 5
2004 PRK 5
2004 SLO 5
2004 UZB 5
2004 CHI 4
2004 GEO 4
2004 LAT 4
2004 MEX 4
2004 BEL 3
2004 EST 3
2004 LTU 3
2004 MAR 3
2004 POR 3
2004 ZIM 3
2004 BAH 2
2004 COL 2
2004 FIN 2
2004 HKG 2
2004 ISR 2
2004 VEN 2
2004 CMR 1
2004 DOM 1
2004 ERI 1
2004 IND 1
2004 MGL 1
2004 SYR 1
2004 TTO 1
2004 UAE 1
2006 CAN 69
2006 SWE 64
2006 DEU 54
2006 USA 52
2006 FIN 41
2006 RUS 41
2006 AUT 30
2006 CZE 27
2006 ITA 25
2006 NOR 23
2006 SUI 21
2006 KOR 19
2006 FRA 15
2006 CHN 13
2006 NED 13
2006 CRO 3
2006 EST 3
2006 UKR 3
2006 AUS 2
2006 POL 2
2006 BLR 1
2006 BUL 1
2006 GBR 1
2006 JPN 1
2006 LAT 1
2006 SVK 1
2008 USA 317
2008 CHN 184
2008 AUS 149
2008 RUS 142
2008 DEU 99
2008 GBR 81
2008 BRA 78
2008 KOR 78
2008 FRA 77
2008 ESP 70
2008 NED 61
2008 ARG 51
2008 JPN 51
2008 CUB 47
2008 ITA 42
2008 CAN 35
2008 UKR 31
2008 BLR 29
2008 HUN 27
2008 NGR 23
2008 NOR 22
2008 ROU 22
2008 POL 20
2008 DEN 19
2008 KEN 15
2008 NZL 15
2008 SRB 15
2008 ISL 14
2008 JAM 14
2008 KAZ 13
2008 SUI 11
2008 SVK 10
2008 AZE 7
2008 BAH 7
2008 CZE 7
2008 ETH 7
2008 GRE 7
2008 INA 7
2008 SWE 7
2008 TUR 7
2008 ARM 6
2008 GEO 6
2008 PRK 6
2008 TTO 6
2008 UZB 6
2008 BEL 5
2008 BUL 5
2008 CRO 5
2008 FIN 5
2008 LTU 5
2008 SLO 5
2008 MEX 4
2008 MGL 4
2008 THA 4
2008 TPE 4
2008 ZIM 4
2008 AUT 3
2008 EST 3
2008 IND 3
2008 IRL 3
2008 LAT 3
2008 SGP 3
2008 ALG 2
2008 COL 2
2008 DOM 2
2008 IRI 2
2008 KGZ 2
2008 MAR 2
2008 POR 2
2008 TJK 2
2008 AFG 1
2008 CHI 1
2008 CMR 1
2008 ECU 1
2008 EGY 1
2008 ISR 1
2008 MAS 1
2008 MDA 1
2008 MRI 1
2008 PAN 1
2008 RSA 1
2008 SUD 1
2008 TOG 1
2008 TUN 1
2008 VEN 1
2008 VIE 1
2010 USA 97
2010 CAN 90
2010 DEU 54
2010 FIN 47
2010 NOR 39
2010 AUT 26
2010 RUS 25
2010 CHN 19
2010 KOR 18
2010 SWE 18
2010 FRA 14
2010 SUI 12
2010 NED 11
2010 CZE 9
2010 POL 8
2010 JPN 7
2010 ITA 5
2010 AUS 3
2010 BLR 3
2010 CRO 3
2010 LAT 3
2010 SLO 3
2010 SVK 3
2010 EST 1
2010 GBR 1
2010 KAZ 1
2012 USA 248
2012 RUS 140
2012 GBR 126
2012 CHN 125
2012 AUS 114
2012 DEU 94
2012 JPN 84
2012 FRA 82
2012 NED 69
2012 ITA 68
2012 ESP 63
2012 KOR 61
2012 BRA 59
2012 CAN 55
2012 CRO 35
2012 NZL 27
2012 HUN 26
2012 UKR 26
2012 JAM 25
2012 MEX 24
2012 BLR 23
2012 SWE 22
2012 ARG 19
2012 NOR 17
2012 DEN 16
2012 ROU 16
2012 SRB 16
2012 CUB 14
2012 CZE 14
2012 MNE 14
2012 KAZ 13
2012 IRI 12
2012 POL 12
2012 KEN 11
2012 AZE 10
2012 TTO 10
2012 RSA 9
2012 COL 8
2012 ETH 7
2012 GEO 7
2012 IND 6
2012 PRK 6
2012 FIN 5
2012 IRL 5
2012 LTU 5
2012 MGL 5
2012 SLO 5
2012 SVK 5
2012 TUR 5
2012 BAH 4
2012 KSA 4
2012 SGP 4
2012 SUI 4
2012 ARM 3
2012 BEL 3
2012 GRE 3
2012 LAT 3
2012 THA 3
2012 TUN 3
2012 UZB 3
2012 BUL 2
2012 DOM 2
2012 EGY 2
2012 EST 2
2012 INA 2
2012 MAS 2
2012 MDA 2
2012 POR 2
2012 PUR 2
2012 QAT 2
2012 TPE 2
2012 AFG 1
2012 ALG 1
2012 BOT 1
2012 BRN 1
2012 CYP 1
2012 GAB 1
2012 GRN 1
2012 GUA 1
2012 HKG 1
2012 KUW 1
2012 MAR 1
2012 TJK 1
2012 UGA 1
2012 VEN 1
2014 CAN 86
2014 RUS 68
2014 USA 64
2014 SWE 51
2014 DEU 36
2014 NOR 36
2014 FIN 33
2014 SUI 30
2014 NED 29
2014 AUT 27
2014 FRA 18
2014 ITA 14
2014 KOR 14
2014 CHN 12
2014 CZE 11
2014 JPN 11
2014 LAT 11
2014 POL 11
2014 GBR 10
2014 SLO 8
2014 BLR 6
2014 UKR 5
2014 AUS 3
2014 CRO 1
2014 KAZ 1
2014 SVK 1
2016 USA 264
2016 DEU 159
2016 GBR 145
2016 RUS 115
2016 CHN 113
2016 FRA 96
2016 AUS 82
2016 ITA 72
2016 CAN 69
2016 JPN 64
2016 SRB 54
2016 BRA 50
2016 NED 47
2016 ESP 45
2016 DEN 41
2016 NZL 36
2016 JAM 30
2016 SWE 28
2016 KOR 26
2016 CRO 24
2016 RSA 23
2016 ARG 22
2016 HUN 22
2016 BEL 21
2016 NOR 19
2016 AZE 18
2016 KAZ 18
2016 NGR 18
2016 POL 16
2016 ROU 16
2016 CZE 15
2016 UKR 15
2016 FIJ 13
2016 KEN 13
2016 UZB 13
2016 BLR 12
2016 CUB 11
2016 SUI 11
2016 COL 8
2016 ETH 8
2016 IRI 8
2016 MAS 8
2016 SVK 8
2016 TUR 8
2016 BUL 7
2016 GEO 7
2016 GRE 7
2016 LTU 7
2016 PRK 7
2016 BAH 6
2016 THA 6
2016 MEX 5
2016 TPE 5
2016 ARM 4
2016 EST 4
2016 INA 4
2016 SLO 4
2016 EGY 3
2016 IRL 3
2016 TUN 3
2016 VEN 3
2016 ALG 2
2016 AUT 2
2016 BRN 2
2016 CIV 2
2016 IND 2
2016 IOA 2
2016 ISR 2
2016 MGL 2
2016 VIE 2
2016 BDI 1
2016 DOM 1
2016 FIN 1
2016 GRN 1
2016 JOR 1
2016 KOS 1
2016 MAR 1
2016 NIG 1
2016 PHI 1
2016 POR 1
2016 PUR 1
2016 QAT 1
2016 SGP 1
2016 TJK 1
2016 TTO 1
2016 UAE 1

Legal né? Mas vamos combinar que se tivesse uma tabela interativa que a gente pudesse ir filtrando os resultados, seria mais interessante. Felizmente existe o pacote DT que da para construir uma tabela como a Tabela ?? a gente consegue ter uma ideia.

Antes, porém precisamos corrigir um erro craso: o nome do único medalhista de ouro brasileiro da natação está errado!!

Vejamos como está:


id name sex age height weight team noc games year season city sport event medal
21544 Csar Augusto Cielo Filho M 21 195 80 Brazil BRA 2008 Summer 2008 Summer Beijing Swimming Swimming Men’s 50 metres Freestyle Gold
21544 Csar Augusto Cielo Filho M 21 195 80 Brazil BRA 2008 Summer 2008 Summer Beijing Swimming Swimming Men’s 100 metres Freestyle Bronze
21544 Csar Augusto Cielo Filho M 21 195 80 Brazil BRA 2008 Summer 2008 Summer Beijing Swimming Swimming Men’s 4 x 100 metres Freestyle Relay NA
21544 Csar Augusto Cielo Filho M 25 195 80 Brazil BRA 2012 Summer 2012 Summer London Swimming Swimming Men’s 50 metres Freestyle Bronze
21544 Csar Augusto Cielo Filho M 25 195 80 Brazil BRA 2012 Summer 2012 Summer London Swimming Swimming Men’s 100 metres Freestyle NA


cielo_cry


“Csar” é lasca. Chora não Cielo, a gente vai corrigir isso:

Vamos ver como ficou


id name sex age height weight team noc games year season city sport event medal
21544 César Augusto Cielo Filho M 21 195 80 Brazil BRA 2008 Summer 2008 Summer Beijing Swimming Swimming Men’s 50 metres Freestyle Gold
21544 César Augusto Cielo Filho M 21 195 80 Brazil BRA 2008 Summer 2008 Summer Beijing Swimming Swimming Men’s 100 metres Freestyle Bronze
21544 César Augusto Cielo Filho M 21 195 80 Brazil BRA 2008 Summer 2008 Summer Beijing Swimming Swimming Men’s 4 x 100 metres Freestyle Relay NA
21544 César Augusto Cielo Filho M 25 195 80 Brazil BRA 2012 Summer 2012 Summer London Swimming Swimming Men’s 50 metres Freestyle Bronze
21544 César Augusto Cielo Filho M 25 195 80 Brazil BRA 2012 Summer 2012 Summer London Swimming Swimming Men’s 100 metres Freestyle NA


Agora sim Cielo!!!!


cielo_smile


Vamos à tabela então:



O que eu acho mais fantástico nessa tabela é a possibilidade dela retornar exatamente aquilo que a gente busca. Quer checar? Faz um teste com o César Cielo".


E se a gente quiser sintetizar os 10 países que mais ganharam medalhas em toda a história das olimpíadas?


País Nº medalhas
United States 5219
Russia 3890
Germany 3675
Great Britain 1673
France 1550
Italy 1527
Sweden 1434
Australia 1306
Canada 1243
Hungary 1127



E aqui é a corrida pelas medalhas ao longo dos anos:

top_ten


Bem… seja através de tabela estática ou interativa ou de gráfico animado, o fato é que os Estados Unidos são os campeões disparados com:

  • 2638 medalhas de ouro,
  • 1641 medalhas de prata,
  • 1358 medalhas de bronze,
## `summarise()` has grouped output by 'noc'. You can override using the `.groups` argument.
noc n_medals medalha
USA 2638
USA 1641
USA 1358

5 E falando de atletas? Quais seriam os mais medalhados?

Vamos fazer o top ten dos maiores medalhistas olímpicos da história:


6 Qual o esporte que mais trouxe medalhas de ouro para os EUA ao longo da olimpíadas?


Se a o intuito for saber as medalhas de “ouro” mesmo; a resposta é a natação.

## `summarise()` has grouped output by 'noc', 'sport'. You can override using the `.groups` argument.
## Selecting by n
País Esporte Medalha Quantidade de medalhas
USA Swimming Gold 649
USA Athletics Gold 542
USA Athletics Silver 317
USA Basketball Gold 281
USA Swimming Silver 254
USA Athletics Bronze 221
USA Ice Hockey Silver 189
USA Rowing Gold 186
USA Swimming Bronze 175
USA Shooting Gold 117


É muito, muito ouro!!!!


gold_coin



Mas se considerarmos medalhas em geral (ouro/prata/bronze), o esporte campeão é o atletismo.


Agora vamos dar uma olhada nas medalhas dos EUA ao longo da história das olimpíadas:

## `summarise()` has grouped output by 'dt', 'noc'. You can override using the `.groups` argument.

Para analisar mais detalhadamente o histórico de cada medalha, podemos recorrer ao facet.wrap():



Ou a gente pode fazer isso de forma dinâmica usando o plotly():

Agora um olhar mais atento na última década:


E dentro destes esportes tão premiados, quem mais contribuiu para os EUA?


## `summarise()` has grouped output by 'name', 'sex', 'noc'. You can override using the `.groups` argument.
## Selecting by n
Nome Gênero País Esporte Nº de medalhas
Michael Fred Phelps, II M USA Swimming 28
Dara Grace Torres (-Hoffman, -Minas) F USA Swimming 12
Jennifer Elisabeth "“Jenny”" Thompson (-Cumpelik) F USA Swimming 12
Natalie Anne Coughlin (-Hall) F USA Swimming 12
Ryan Steven Lochte M USA Swimming 12
Carl Townsend Osburn M USA Shooting 11
Mark Andrew Spitz M USA Swimming 11
Matthew Nicholas "“Matt”" Biondi M USA Swimming 11
Frederick Carlton "“Carl”" Lewis M USA Athletics 10
Gary Wayne Hall, Jr.  M USA Swimming 10
Raymond Clarence "“Ray”" Ewry M USA Athletics 10


Disparadamente, Michael Phelps é o cara.

E como é o histórico dele?


Medalha Nº de medalhas
Gold 23
Silver 3
Bronze 2
NA 2


O cara é bom mesmo. Só não ganhou medalhas em duas provas que disputou.



Focando especificamente nas medalhas que ganhou: impressionantes 23 medalhas de ouro, 3 medalhas de prata e 2 medalhas de bronze.

medal n
Gold 23
Silver 3
Bronze 2


Que idade ele tinha quando ganhou a primeira medalha olímpica e qual a média da idades dos caras com os quais ele competia?

## `summarise()` has grouped output by 'year'. You can override using the `.groups` argument.
Ano Idade do Phelps Idade média dos nadadores
2000 15 21
2004 19 21
2008 23 22
2012 27 22
2016 31 22


É simples assim: o cara quando era um guri de apenas 15 anos ganhou de uma galera mais experiente que estava na faixa dos 21 anos. No final da carreira, quando já era um senhor de 31 anos, continuou colando os jovens (na faixa dos 22 anos) no bolso. O cara é um monstro mesmo!!!


E em que edição ele mais ganhou medalhas?

## `summarise()` has grouped output by 'city'. You can override using the `.groups` argument.
city year n
Athina 2004 8
Beijing 2008 8
London 2012 7
Rio de Janeiro 2016 6
Sydney 2000 1

Aparentemente, o ápice dele foi entre 2004 (Atenas) e 2008 (Pequim), quando ganhou 8 medalhas em cada edição.

valeu Phelps!!!

phelps

7 Mas será que os Estados Unidos são tão bons assim em outro esporte nos quais eles são famosos: o basquete?

A resposta é: sem dúvida.

Que os EUA são hegemônicos no basquete, não há dúvida. Mas já que o lugar mais alto do pódio já está “reservado”, fiquei curioso para saber se algum dia o Brasil dividiu o pódio com os americanos:

País Medalha 1936 1948 1952 1956 1960 1964 1968 1972 1976 1984 1988 1992 1996 2000 2004 2008 2012 2016
BRA Bronze
X
X X
USA Gold X X X X X X X
X X
X X X
X X X
USA Silver
X
USA Bronze
X
X

A resposta é SIM e em 3 ocasiões: 1948, 1960 e 1964.

Pela tabela acima ainda dá pra perceber que os americanos só não ocuparam o 1º lugar no pódio uma única vez: 1972. E aparentemente foi babado: encontrei a seguinte observação no Wikipedia

## `summarise()` has grouped output by 'noc', 'year'. You can override using the `.groups` argument.
noc medal 1972
USA Gold NA
USA Silver 12
USA Bronze NA

Esta foi a primeira vez em que os norte-americanos não ganharam a medalha de ouro no basquete. A partida final, entre URSS e EUA foi controversa. Os EUA viraram a partida nos últimos segundos, ganhando de 50-49. Renato William Jones, figura proeminente da FIBA na época, ordenou que houvesse mais três segundos de partida, alegando um mau funcionamento dos relógios que cronometravam o tempo. Foi o suficiente para que os soviéticos virassem o jogo, vencendo de 51-50. Jones não tinha autoridade para fazer tal mudança no jogo, mas seu prestígio era tal que os árbitros acataram a ordem. Os jogadores norte-americanos jamais aceitaram a prata. Uma revisão da arbitragem e do resultado da partida não foi possível na época em virtude da bipolarização da Guerra Fria: os revisores eram, em sua maioria, pró-União Soviética

8 Vamos espacializar os dados?

Primeiro foi preciso acessar a API da Google usando a função ggmap::register_google(key = "")

Depois, obtive as sedes das olimpíadas nesse site da Wikipedia e baixei em um arquivo em excel.

A partir daí, importei o arquivo e eliminei os registros nos quais as Olímpíadas haviam sido canceladas devido à I e II Guerras.

Depois, usei a impressionante função ggmap::geocode(). Basta passar o nome de uma cidade e a função de retorna a longitude e latitude da cidade:

Em seguida foi só juntar o dataset das cidades com o dataset das coordenadas geográficas…

… e depois usar o maravilhoso pacote sf para transformar meros números em coordenadas geográficas. Observação no Coordinate Reference System (CRS) coloquei 4326; que corresponde ao código EPSG para o sistema de coordenadas geográficas WGS 84.

Por fim, mas não menos importante;foi preciso obter o mapa mundi como fundo. Consegui isso usando a função ne_countries(returnclass = "sf") do pacote rnaturalearth

Com a coluna geometry devidamente criada, foi fácil projetar usando ggplot() + geom_sf():

Desse jeito não dá para ver os nomes dos países.

Então, resolvi usar o ggplot2::geom_label() para vermos os nomes:

Ficou uma confusão danada. Que tal usar o ggrepel::geom_label_repel para afastar os labels?

Eita!!! Parece que ficou ainda mais bagunçado, pois o repel afastou vários nomes que estavam sobrepostos de modo que todos eles agora aparecem.

Uma tentativa de resolver isso é dar um close, por exemplo, na Europa:

Primeiro crio um subset só para a Europa

Depois, com o pacote st, crio um grid a partir desse subset

europe_host_cities_grid <- st_make_grid(st_bbox(europe_host_cities_olympics_sf), n = 1)

Depois, eu seleciono as cidades que estão apenas dentro deste grid, usanto a função sf::st_intersection():

host_cities_olympics_sf_inner_grid <- st_intersection(host_cities_olympics_sf,
                                                      europe_host_cities_grid)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries

Em seguida, eu crio um plot que vou usar logo mais no patchwork

europe_host_cities_plot <- ggplot()+
  geom_sf(data = world)+
  geom_sf(data = europe_host_cities_grid, fill = NA, color = "red")+
  coord_sf(crs = "+proj=robin")

Agora eu faço um crop usando como referência justamente o grid:

europe_crop <- world %>% 
  st_crop(europe_host_cities_grid)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries

E crio o plot que agrega o dataset que contem o grid dos países europeus + o dataset que contém os pontos que reperesentam as cidades-sede:

europe_crop_plot <- ggplot()+
  geom_sf(data = europe_crop) + 
  geom_sf(data = host_cities_olympics_sf_inner_grid)+
  geom_sf_label(data = host_cities_olympics_sf_inner_grid,
                aes(label = city),
                size = 5)

europe_crop_plot
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

Para visualizar o mundo todo (com a delimitação do grid) e a área do crop ao mesmo tempo utilizo o patchwork

europe_host_cities_plot + europe_crop_plot
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

E se a gente fizer um mapa de calor, a gente consegue ver claramente a geopolítica dos Jogos Olimpícos. Majoritariamente eles oocorreram na Europa.

ggplot()+
  geom_sf(data = host_cities_olympics_sf)+
  stat_density2d(data = host_cities_olympics_st,
                 aes(lon, lat,
                     fill = ..density..),
                 geom = "raster",
                 contour = F,
                 show.legend = F)+
  scale_fill_distiller(palette = "Spectral",
                       direction = -1)+
  geom_sf(data = world, fill = "white", alpha = .2)+
  theme(panel.background = element_rect(fill = "#3288bd"),
        panel.grid = element_line(color = NA),
        axis.title = element_blank())

Para escapar da forma estática, é possível incrementar a visualização.

Uma alternativa, é usar o plotly para tornar os pontos interativos:

host_cities_plot <- ggplot()+
  geom_sf(data = world)+
  geom_sf(data = host_cities_olympics_sf,
          aes(fill = city),
          shape = 21,
          color = "white",
          size = 3,
          show.legend = F)+
  coord_sf(crs = "+proj=robin")+
  theme(panel.grid = element_line(colour = "black"),
        panel.background = element_blank())+
  xlab("")+
  ylab("")


ggplotly(host_cities_plot,
         tooltip = "city",
         dynamicTicks = T)

Mas vamos combinar que nada se compara ao leaflet:

Primeiro, crio uma outra coluna que permite classificar as edições em olimpíadas de verão e de inverno

host_cities_olympics_sf_summer <- host_cities_olympics_sf %>% 
  drop_na(summer) %>% 
  mutate(tipo = "Verão")


host_cities_olympics_sf_winter <- host_cities_olympics_sf %>% 
  drop_na(winter) %>% 
  mutate(tipo = "Inverno")

Depois, para incrementar o mapa, crio, com a função leaflet::makeIcon, um ícone específico para identificar o ponto a ser plotado. Crio um ponto para verão e outro para inverno.

olympicIcon_summer <- makeIcon(
  iconUrl = "img/gold_coin_animated.gif",
  iconWidth = 20, iconHeight = 20)


olympicIcon_winter <- makeIcon(
  iconUrl = "img/blue_coin_animated_2.gif",
  iconWidth = 20, iconHeight = 20)

Agora ploto as sedes usando o argumento leaflet::addMarkers(clusterOptions = markerClusterOptions())

leaflet() %>% 
  addTiles() %>% 
  addMarkers(data = host_cities_olympics_sf_summer,
             label = ~city,
             icon = olympicIcon_summer,
             clusterOptions = markerClusterOptions(),
             popup= paste("<b> Ano: </b>", host_cities_olympics_sf_summer$year,"<br>",
                          "<b> Tipo: </b>", host_cities_olympics_sf_summer$tipo, "<br>",
                          "<b> Abertura: </b>", host_cities_olympics_sf_summer$opening_ceremony)) %>% 
  addMarkers(data = host_cities_olympics_sf_winter,
             label = ~city,
             icon = olympicIcon_winter,
             clusterOptions = markerClusterOptions(),
             popup= paste("<b> Ano: </b>", host_cities_olympics_sf_winter$year,"<br>",
                          "<b> Tipo: </b>", host_cities_olympics_sf_winter$tipo, "<br>",
                          "<b> Abertura: </b>", host_cities_olympics_sf_winter$opening_ceremony))

Agora sim; não oficou poluído visualmente. Além de tudo, dá para passar o recado de que:

tibble("Uma medalha desta:" = "",
       "equivale a" = c("Jogos de Verão",
                        "Jogos de Inverno")) %>% 
  kbl(booktabs = T,
      align = "cl") %>%
  kable_paper(full_width = F) %>%
    column_spec(1, image = spec_image(c("img/gold_coin_animated.gif", "img/blue_coin_animated_2.gif"), 80,80))
Uma medalha desta: equivale a
Jogos de Verão
Jogos de Inverno

Uma dica: Se quiser colocar o gif inline é preciso observar o tamanho da imagem. O tamanho original da medalha do arquivo .gif que encontrei é muito grande. É tipo assim:

gold_coin

Talvez haja uma forma direta no próprio R para definir o tamanho das imagens. Como o tempo tava curto, acabei recorrendo ao site ezgif que tem um ferramenta simples e prática chama GIF Resizer. O resultado foi que, depois do redimensionamento, a medalha ficou assim:

gold_coin

9 E se a gente quiser saber só com os países no mapa (sem as cidades)?

Com o ggflags::geom_flag() é possível plotar as bandeiras ao invés dos pontos:

host_countries <- world %>% 
  filter(name %in% c(host_cities_olympics_sf$country))

ggplot()+
  geom_sf(data = world, fill = "orange", alpha = .6)+
  geom_flag(data = host_countries,
            aes(country = str_to_lower(iso_a2), geometry = geometry),
            stat = "sf_coordinates")+
  coord_sf(crs = "+proj=robin")+
  theme(panel.grid = element_line(colour = "black"),
        panel.background = element_rect(fill = "azure"),
        axis.title = element_blank())

É isso. Queria agradecer ao pessoal da curso-r. O curso foi excepcional. Aprendi muito com esse exercício. Me consumiu muitas horas mas valeu cada segundo!!!

Encerramos com o adeus mais famoso das Olimpíadas:

gold_coin