dados = read_csv(
here::here("data/participation-per-country.csv"),
col_types = cols(
.default = col_double(),
site = col_character(),
country = col_character(),
geo = col_character(),
four_regions = col_character(),
eight_regions = col_character(),
six_regions = col_character(),
`World bank income group 2017` = col_character()
)
) %>%
filter(usuarios > 200)
glimpse(dados)
## Rows: 121
## Columns: 21
## $ site <chr> "StackOverflow", "StackOverflow", "Stac…
## $ country <chr> "Argentina", "Australia", "Austria", "B…
## $ PDI <dbl> 49, 36, 11, 80, 65, 69, 70, 39, 63, 80,…
## $ IDV <dbl> 46, 90, 55, 20, 75, 38, 30, 80, 23, 20,…
## $ MAS <dbl> 56, 61, 79, 55, 54, 49, 40, 52, 28, 66,…
## $ UAI <dbl> 86, 51, 70, 60, 94, 76, 85, 48, 86, 30,…
## $ usuarios <dbl> 2798, 12313, 2518, 2558, 4275, 10717, 1…
## $ responderam_prop <dbl> 0.5357398, 0.6133355, 0.6310564, 0.3928…
## $ perguntaram_prop <dbl> 0.5210865, 0.5897832, 0.5933280, 0.4757…
## $ editaram_prop <dbl> 0.09256612, 0.14699911, 0.14932486, 0.0…
## $ comentaram_prop <dbl> 0.25339528, 0.33395598, 0.35027800, 0.1…
## $ GNI <dbl> NA, 59570, 48160, 840, 44990, 11630, 68…
## $ Internet <dbl> 51.0, 79.5, 79.8, 5.0, 78.0, 45.0, 51.0…
## $ EPI <dbl> 59.02, NA, 63.21, NA, 61.21, 49.96, NA,…
## $ geo <chr> "arg", "aus", "aut", "bgd", "bel", "bra…
## $ four_regions <chr> "americas", "asia", "europe", "asia", "…
## $ eight_regions <chr> "america_south", "east_asia_pacific", "…
## $ six_regions <chr> "america", "east_asia_pacific", "europe…
## $ Latitude <dbl> -34.00000, -25.00000, 47.33333, 24.0000…
## $ Longitude <dbl> -64.00000, 135.00000, 13.33333, 90.0000…
## $ `World bank income group 2017` <chr> "Upper middle income", "High income", "…
Estamos interessados na relação entre quanto as pessoas de diferentes
países comentam em questões dos outros. A proporção das pessoas do país
que comentou nas questões de outros está medido na variável
comentaram_prop.
Considerando essa variável, queremos examinar a relação entre ela e o
quão hierárquicas são as relações em um país (PDI).
Queremos também levar em conta o quanto as pessoas daquele país têm
acesso à Internet (Internet) e qual o tamanho da base de
dados que detectamos daquele país (usuarios).
Faça uma visualização que usa os princípios de eficácia no projeto de visualizações para facilitar as comparações que você acha que são as mais importantes para entendermos esse contexto.
# Agrupar por país, em seguida somando os usuários e fazendo a média da proporção
dados <- dados %>%
group_by(country, PDI, Internet, six_regions) %>%
summarise(
usuarios = sum(usuarios),
comentaram_prop = mean(comentaram_prop)
)
## `summarise()` has grouped output by 'country', 'PDI', 'Internet'. You can
## override using the `.groups` argument.
# Gráfico de dispersão
dados %>% ggplot(aes(x=PDI, y=comentaram_prop, size=usuarios, color=Internet, label = country)) +
geom_point(alpha = 0.8) + # Adiciona pontos ao gráfico
scale_size_continuous(name = "Total de Usuários") + # Legenda para o tamanho dos pontos
scale_color_viridis(name = "Acesso à Internet", option = "viridis", direction = - 1) + # Paleta de cores
labs(title = "Participação de países no StackExchange",
x = "PDI (Índice de Hierarquia)",
y = "Proporção de pessoas que comentam") + # Títulos dos eixos
theme_minimal()
RESPOSTA:
Este gráfico é do tipo dispersão e indica uma relação aparentemente negativa moderada entre a proporção de pessoas que comentam em um país e o Índice de Hierarquia (PDI).
Podemos observar que, à medida que o PDI de um país diminui, a proporção de comentários feitos por seus usuários aumenta.
A relação parece ser linear, com uma curva sutil para baixo em relação aos maiores valores de PDI.
Podemos observar no gráfico que os países com maior acesso à Internet possuem uma maior proporção de comentaristas.
Foi escolhida a paleta viridis, por ser amplamente recomendada para artigos científicos. Ela é perceptualmente uniforme, o que significa que a diferença de cor é proporcional à diferença de valor, e é bem vista por pessoas com daltonismo. Além disso, ela é impressa bem em tons de cinza.
Abaixo foi calculado as correlações entre: PDI x Proporção de comentários, Internet x Proporção de comentários e Internet x Usuários com os métodos de Pearson (suspeita de linearidade), kendall e Spearman (suspeita de não-linearidade na relação entre as variáveis).
#Correlação PDI x Proporção de comentários
# Calculando correlação de Pearson
cor_pearson <- cor(dados$PDI, dados$comentaram_prop, method = "pearson")
# Calculando correlação de Kendall
cor_kendall <- cor(dados$PDI, dados$comentaram_prop, method = "kendall")
# Calculando correlação de Spearman
cor_spearman <- cor(dados$PDI, dados$comentaram_prop, method = "spearman")
# Criando a tabela
tabela_cor_1 <- data.frame(
Método = c("Pearson", "kendall", "Spearman"),
Correlação = c(cor_pearson, cor_kendall, cor_spearman)
)
print(tabela_cor_1)
## Método Correlação
## 1 Pearson -0.5885522
## 2 kendall -0.4435956
## 3 Spearman -0.6074562
RESPOSTA:
Nesta correlação entre PDI x Proporção de comentários podemos observar que esses coeficientes sugerem uma relação negativa moderada entre as variáveis, consistente em todas as medidas de correlação. Isso indica que, em geral, quanto maior o índice de hierarquia (PDI), menor é a proporção de pessoas que comentam em um país.
# Correlação Internet x Proporção de comentários
# Calculando correlação de Pearson
cor_pearson <- cor(dados$Internet, dados$comentaram_prop, method = "pearson", use = "complete.obs")
# Calculando correlação de Kendall
cor_kendall <- cor(dados$Internet, dados$comentaram_prop, method = "kendall", use = "complete.obs")
# Calculando correlação de Spearman
cor_spearman <- cor(dados$Internet, dados$comentaram_prop, method = "spearman", use = "complete.obs")
# Criando a tabela
tabela_cor_2 <- data.frame(
Método = c("Pearson","kendall", "Spearman"),
Correlação = c(cor_pearson, cor_kendall, cor_spearman)
)
print(tabela_cor_2)
## Método Correlação
## 1 Pearson 0.6489100
## 2 kendall 0.5107542
## 3 Spearman 0.6716953
RESPOSTA:
Nesta correlação entre Internet x Proporção de comentários podemos observar que esses coeficientes sugerem que o aumento do acesso à Internet está associado a um aumento na proporção de pessoas que comentam em questões de outros países, com a medida de Pearson indicando uma relação linear positiva mediana. Essa tendência é consistente em todas as medidas de correlação.
#Correlação Internet x Usuários
# Calculando correlação de Pearson
cor_pearson <- cor(dados$Internet, dados$usuarios, method = "pearson", use = "complete.obs")
# Calculando correlação de Kendall
cor_kendall <- cor(dados$Internet, dados$usuarios, method = "kendall", use = "complete.obs")
# Calculando correlação de Spearman
cor_spearman <- cor(dados$Internet, dados$usuarios, method = "spearman", use = "complete.obs")
# Criando a tabela
tabela_cor_3 <- data.frame(
Método = c("Pearson","kendall", "Spearman"),
Correlação = c(cor_pearson, cor_kendall, cor_spearman)
)
print(tabela_cor_3)
## Método Correlação
## 1 Pearson 0.06834963
## 2 kendall 0.20375834
## 3 Spearman 0.29283526
RESPOSTA:
Nesta correlação entre Internet x Usuários podemos observar que esses coeficientes indicam que há uma correlação muito fraca a fraca entre o número de usuários e o nível de acesso à Internet, independente do método de correlação utilizado.
Em seguida, faça 5 visualizações que usem as mesmas variáveis e também pontos, mas que sejam menos eficazes que a que você escolheu acima.
# Gráfico de dispersão
ggplot(dados, aes(x = PDI, y = comentaram_prop, size = Internet , color = usuarios, label = country)) +
geom_point(alpha = 0.8) + # Adiciona pontos ao gráfico
scale_size_continuous(name = "Total de Usuários") + # Legenda para o tamanho dos pontos
scale_color_gradient(name = "Acesso à Internet", low = "Gold", high = "Orange") + # Legenda de cores
labs(title = "Participação de países no StackExchange",
x = "PDI (Índice de Hierarquia)",
y = "Proporção de pessoas que comentam") + # Títulos dos eixos
theme_minimal()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_point()`).
RESPOSTA:
Este gráfico apresenta cores semelhantes nos pontos e a variação dos tamanhos dos pontos são sutis, tornando difícil diferenciar entre eles.
Foi trocada as variáveis cor e tamanho, a variável cor foi alterada para base de usuário e size pra proporção de internet, essa troca faz com que dificulte a distinção entre a quantidade dos usuários.
# Gráfico de dispersão
ggplot(dados, aes(x = PDI, y = comentaram_prop, size = usuarios, color = Internet, label = country)) +
geom_point(alpha = 0.4) + # Adiciona pontos ao gráfico
geom_text(hjust = 0, vjust = 1) + # Adiciona texto com o nome do país
scale_size_continuous(name = "Total de Usuários") + # Legenda para o tamanho dos pontos
scale_color_viridis(name = "Acesso à Internet", option = "mako", direction = -1) + # Paleta de cores
labs(title = "Participação de países no StackExchange",
x = "PDI (Índice de Hierarquia)",
y = "Proporção de pessoas que comentam") + # Títulos dos eixos
theme_minimal()
RESPOSTA:
Neste gráfico, os nomes de todos os países são apresentados sobre cada ponto, o que pode dificultar a visualização tanto dos nomes quanto dos pontos.
Os pontos são pequenos, e os nomes dos países têm a mesma cor e tamanho o que dificulta a leitura e a compreensão do gráfico.
# Gráfico de dispersão
dados %>%
ggplot(aes(x = PDI, y = comentaram_prop, size = usuarios, color = Internet, label = country)) +
geom_point(shape = 25, alpha = 0.9) + # Shape 21 representa círculos preenchidos
scale_size_continuous(name = "Total de Usuários") + # Legenda para o tamanho dos pontos
scale_color_viridis(name = "Acesso à Internet") + # Paleta de cores
labs(title = "Participação de países no StackExchange",
x = "PDI (Índice de Hierarquia)",
y = "Proporção de pessoas que comentam") + # Títulos dos eixos
theme_minimal()
RESPOSTA:
Este gráfico possui formas e cores que não favorecem a distinção dos países e dificulta na interpretação dos dados.
Como as formas geometricas não estão preenchidas dificulta a distinção das cores, ou seja, acesso à internet.
Além de não ser tão fácil a diferença de tamanhos, ou seja, o total de usuários.
# Gráfico de dispersão
dados %>% ggplot(aes(x=PDI, y=comentaram_prop, size=usuarios, color=Internet, label = country)) +
geom_point(alpha = 0.1) + # Adiciona pontos ao gráfico
scale_size_continuous(name = "Total de Usuários") + # Legenda para o tamanho dos pontos
scale_color_viridis(name = "Acesso à Internet", option = "mako", direction = -1) + # Paleta de cores
labs(title = "Participação de países no StackExchange",
x = "PDI (Índice de Hierarquia)",
y = "Proporção de pessoas que comentam") + # Títulos dos eixos,
theme_minimal()
RESPOSTA:
# Gráfico de linhas com pontos
ggplot(dados, aes(x = PDI, y = comentaram_prop, group = country, color = Internet, label = country)) +
geom_line(alpha = 0.6) + # Adiciona linhas ao gráfico
geom_point(aes(size = usuarios), alpha = 0.9) + # Adiciona pontos ao gráfico
geom_text_repel(size = 3, max.overlaps = 10) + # Adiciona rótulos com repel para evitar sobreposição
scale_size_continuous(name = "Total de Usuários") + # Legenda para o tamanho dos pontos
scale_color_viridis(name = "Acesso à Internet", option = "mako", direction = -1) + # Paleta de cores
labs(title = "Participação de países no StackExchange",
x = "PDI (Índice de Hierarquia)",
y = "Proporção de pessoas que comentam") + # Títulos dos eixos
theme_minimal()
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## Warning: ggrepel: 8 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
RESPOSTA:
Este gráfico está muito poluído com os nomes dos países nos pontos.
As cores dos pontos e dos nomes dos paises dependendo da tonalidade não dar para ler.
Possui informações não necessárias para o contexto da tarefa.
Inclua o continente dos países (six_regions) na
visualização.
# Gráfico de dispersão com os dados dos continentes dos países
dados %>% filter(!is.na(six_regions)) %>%
ggplot(aes(x = PDI, y = comentaram_prop, size = usuarios, color = Internet, label = country)) +
geom_point(alpha = 0.8) + # Adiciona pontos ao gráfico
scale_size_continuous(name = "Total de Usuários") + # Legenda para o tamanho dos pontos
scale_color_viridis(name = "Acesso à Internet", option = "viridis", direction = - 1) + # Paleta de cores
facet_wrap(~six_regions) +
labs(title = "Participação de países no StackExchange",
x = "PDI (Índice de Hierarquia)",
y = "Proporção de pessoas que comentam") + # Títulos dos eixos
theme_minimal()
RESPOSTA:
Neste gráfico foi adicionado os continentes separando os países (pontos) por grupos, isso facilita identificar quais continentes mais comentam ou tem mais acesso a internet.
Os continentes europe_central_asia, east_asia_pacifisc e america são os que mais comentam sobre outros países, em comparação aos demais continentes.