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.
ggplot(data = dados, aes(x = PDI, y = comentaram_prop, color = Internet)) +
geom_point(aes(size = usuarios, group = country, color = ifelse(is.na(comentaram_prop), "Imputado", Internet))) +
scale_color_gradient(low = "blue", high = "red") +
scale_size_continuous(range = c(2,10)) +
labs(x = "PDI", y = "Proporção de pessoas que comentaram em questões dos outros", color = "Internet", size = "Usuários") +
theme_minimal()
corr_pearson <- cor.test(dados$PDI, dados$comentaram_prop, method = "pearson")$estimate
corr_kendall <- cor.test(dados$PDI, dados$comentaram_prop, method = "kendall")$estimate
corr_spearman <- cor.test(dados$PDI, dados$comentaram_prop, method = "spearman", exact = FALSE)$estimate
corr_table <- data.frame(
"Cor Pearson" = corr_pearson,
"Cor Kendall" = corr_kendall,
"Cor Spearman" = corr_spearman
)
kable(corr_table, col.names = c("Corr_Pearson", "Corr_Kendall", "Corr_Spearman")) %>%
kable_styling(full_width = FALSE, bootstrap_options = c("hover"))
| Corr_Pearson | Corr_Kendall | Corr_Spearman | |
|---|---|---|---|
| cor | -0.599158 | -0.4432901 | -0.6083361 |
corr_pearson <- cor.test(dados$Internet, dados$comentaram_prop, method = "pearson")$estimate
corr_kendall <- cor.test(dados$Internet, dados$comentaram_prop, method = "kendall")$estimate
corr_spearman <- cor.test(dados$Internet, dados$comentaram_prop, method = "spearman", exact = FALSE)$estimate
corr_table <- data.frame(
"Cor Pearson" = corr_pearson,
"Cor Kendall" = corr_kendall,
"Cor Spearman" = corr_spearman
)
kable(corr_table, col.names = c("Corr_Pearson", "Corr_Kendall", "Corr_Spearman")) %>%
kable_styling(full_width = FALSE, bootstrap_options = c("hover"))
| Corr_Pearson | Corr_Kendall | Corr_Spearman | |
|---|---|---|---|
| cor | 0.6251064 | 0.4687442 | 0.628625 |
Verifica-se a relação entre:
- Proporção de comentários em relação ao PDI; e
- Proporção de comentários em relação à porcentagem de Internet
Através do gráfico, percebe-se uma aparente relação negativa moderada entre a proporção de pessoas que comentam em um país e o PDI. A relação parece ser linear, mas também sugere uma pequena curva descendente, sugerindo que à medida que o índice PDI aumenta, espera-se uma diminuição na proporção de pessoas que comentam em questões dos outros.
Ao utilizar as análises de correlação de Pearson (devido à suspeita de linearidade) e Spearman (devido à possibilidade de não-linearidade), constatamos que há uma correlação moderada e negativa entre as variáveis PDI e comentaram_prop. O coeficiente de correlação de Pearson (-0,59p) confirma essa tendência, à medida que o índice PDI aumenta, espera-se uma diminuição na proporção de pessoas que comentam em questões dos outros, enquanto o coeficiente de Spearman é utilizado para considerar a possibilidade de não-linearidade na relação entre as variáveis.
Além disso, a análise das correlações entre a porcentagem de acesso à Internet e a proporção de comentários revela uma correlação positiva entre essas variáveis.
Os coeficiente de correlação de Pearson e o de Spearman apontam para essa relação, sugerindo que países com maior acesso à Internet tendem a ter uma proporção maior de comentaristas, o que é esperado, pois quanto maior for a parcela da população que acessa à Internet, maior serão as chances de alguém usar a plataforma para fazer comentários online.
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.
ggplot(data = dados, aes(x = PDI, y = comentaram_prop, color = Internet)) +
geom_point(aes(size = usuarios), shape = 1, alpha = 0.5) +
scale_color_gradient(low = "gray", high = "black") +
scale_size_continuous(range = c(2, 10)) +
theme_minimal() +
guides(size = FALSE)
A legenda de tamanho dos usuários foi removida o que dificultará o entendimento quanto ao que seria representado pelos círculos com tamanhos distintos.
Quando se opta por uma escala de cores que muda do cinza ao preto, é possível ocorrer uma diminuição de destaque e intensidade na representação dos dados.
s3d <-
scatterplot3d(
na.omit(dados)$Internet,
na.omit(dados)$PDI,
na.omit(dados)$comentaram_prop,
main = "Plot tridimensinal de Internet, PDI, e Proporção de Comentários",
xlab = "Porcentagem da População com acesso à Internet",
ylab = "Power Distance Index (PDI)",
zlab = "Proporção de Comentários"
)
Outra possibilidade de representação de três variáveis é o uso de gráficos de dispersão tridimensional utilizando scatterplot3d. Esse gráfico apresenta muitas informações, o que também pode dificultar a interpretação, pode ser mais difícil para o intérprete visualizar e entender completamente as relações entre as variáveis representadas, pode dificultar a percepção de padrões e correlações por haver informações em três eixos diferentes para serem interpretadas.
Além disso, a depender da complexidade do gráfico, essa visualização pode resultar em uma sobrecarga de informações, o que pode torná-lo menos eficaz na comunicação das informações.
dados <- dados %>% filter(if_all(everything(), \(x) ! is.na(x)))
dados %>%
mutate(faixa_internet = cut(
Internet, breaks = c(0, 25, 50, 75, 100),
labels = c("Quase sem acesso à internet",
"Pouco acesso à internet",
"Acesso moderado à internet",
"Muito acesso à internet")
)) %>%
ggplot(aes(
x = PDI,
y = comentaram_prop,
size = usuarios,
color = usuarios
)) +
geom_point(alpha = .7) +
scale_color_binned(breaks = c(0, 2500, 5000, 7500, 25000), type = "viridis") +
facet_wrap( ~ faixa_internet) +
guides(size = "none") +
labs(color = "# Usuários",
x = "PDI",
y = "% de usuários com comentários",
title = "Comentários em posts e hierarquia dos países")
Esta representação oferece uma visualização das relações entre o Índice de Distância de Poder (PDI), a proporção de usuários que comentaram em posts e o número de usuários, a presença de múltiplos painéis facetados pode tornar a interpretação mais complexa.
Essa forma se torna ruim, porque a inclusão de diferentes faixas de acesso à internet em cada painel pode dificultar a comparação entre os grupos, uma vez que quem analisa precisa alternar entre os gráficos para entender as relações em diferentes contextos de acesso à internet, o que pode resultar em uma interpretação menos precisa dos dados.
ggplot(data = dados, aes(x = PDI, y = comentaram_prop, color = Internet)) +
geom_point(aes(size = usuarios, group = country), shape = "+") +
scale_color_gradient(low = "green") +
scale_size_continuous(range = c(2,10)) +
theme_minimal()
Nesta visualização utiliza-se o símbolo +, cores e tamanhos diferentes, o que pode causar uma sobrecarga de informações, tornando essa representação visualmente complexa, especialmente para aqueles que não estão familiarizados com a interpretação de gráficos.
A sobreposição de pontos também pode dificultar a identificação de padrões nos dados, especialmente se houver muitos pontos próximos uns dos outros.
ggplot(data = dados, aes(x = PDI, y = comentaram_prop, color = comentaram_prop)) +
geom_point(aes(size = usuarios), alpha = 0.5) +
scale_color_gradient(low = "blue", high = "red") +
scale_size_continuous(range = c(2,10)) +
theme_minimal()
A cor dos pontos está sendo associada à mesma variável que define a posição vertical dos pontos (comentaram_prop). Tal associação pode resultar em confusão e dificuldade na interpretação dos dados.
Inclua o continente dos países (six_regions) na
visualização.
dados_filtrados <- dados %>%
filter(!is.na(six_regions))
dados_filtrados$six_regions <- fct_infreq(dados_filtrados$six_regions)
ggplot(data = dados_filtrados, aes(x = PDI, y = comentaram_prop, color = six_regions)) +
geom_point(aes(size = usuarios)) +
scale_color_manual(values = palette()) +
scale_size_continuous(range = c(2, 10)) +
geom_smooth(method = "lm", se = FALSE, color = "black") +
labs(x = "PDI", y = "Proporção de pessoas que comentaram em questões dos outros", color = "Região", size = "Usuários") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
A linha de tendência auxilia na compreensão da direção e intensidade dessa relação entre as variáveis. A inclusão das cores com base nas regiões também simplifica a análise das discrepâncias regionais.
Esta visualização foi escolhida para investigar a interação entre o Índice de Distância de Poder (PDI) e a proporção de pessoas que fazem comentários em questões de outros.
Os pontos que representam os países e seus usuários são coloridos e variam em tamanho, o que permite a identificação de padrões e correlações de maneira mais detalhada.
Além disso, a linha de tendência traçada no gráfico auxilia na
compreensão da direção e intensidade dessa relação entre as variáveis
analisadas. A inclusão de cores com base no continente dos países
(six_regions) também simplifica a análise das discrepâncias
regionais.