theme_set(theme_bw())
knitr::opts_chunk$set(tidy = FALSE,
fig.width = 6,
fig.height = 5)
Vamos ler a base para poder ter uma visão ampla dos dados relacionados considerando os países com mais de 200 usuários.
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).
dados %>%
ggplot(aes(x = IDV, y = responderam_prop, color = responderam_prop)) +
geom_point() +
xlab("IDV") +
ylab("Proporção de Respostas") +
scale_color_gradient(low = "blue", high = "red") +
ggtitle("Relação entre IDV e Proporção de Respostas")
Relação entre IDV e Proporção de Respostas: uma tendência ou padrão
visível nos pontos, países com um valor mais alto de IDV tendem a ter
uma proporção maior ou menor de respostas
ggplot(dados, aes(x = PDI, y = comentaram_prop)) +
geom_point() +
xlab("Índice de Hierarquia (PDI)") +
ylab("Proporção de Comentários") +
ggtitle("Relação entre PDI e Proporção de Comentários")
Gráfico de Dispersão: Para analisar a relação entre comentaram_prop e
PDI, ao analisar o gráfico resultante possíveis outliers aparente que
pode influenciar a proporção de comentários. Portanto, observe-se uma
tendência visível países com índice de hieraquia mais alto (PDI alto)
tendem a ter uma maior e menor proporção de comentários.
ggplot(dados, aes(x = Internet, y = comentaram_prop, fill = Internet)) +
geom_bar(stat = "identity", position = "dodge") +
xlab("Acesso à Internet") +
ylab("Proporção de Comentários") +
ggtitle("Relação entre Acesso à Internet e Proporção de Comentários")
## Warning: Removed 3 rows containing missing values (`geom_bar()`).
Podemos observar que Países com acesso à Internet mais amplo tendem a
ter uma proporção maior de comentários em comparação com países com
acesso limitado.
library(ggplot2)
ggplot(dados, aes(x = usuarios, y = comentaram_prop, fill = usuarios)) +
geom_point(shape = 21, size = 4) +
xlab("Tamanho da Base de Dados") +
ylab("Proporção de Comentários") +
scale_x_continuous(labels = scales::comma) +
scale_fill_continuous(low = "blue", high = "red") +
ggtitle("Relação entre Tamanho da Base de Dados e Proporção de Comentários")
Com base nessa visualização, podemos tirar algumas conclusões. Por exemplo: Países com mais usuarios na base de dados tendem a ter uma proporção maior de comentários em relação aos outros países.
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.
library(ggplot2)
library(dplyr)
dados_agrupados <- dados %>%
group_by(eight_regions, site) %>%
summarize(prop_comentaram = mean(comentaram_prop, na.rm = TRUE), .groups = "drop")
ggplot(dados_agrupados, aes(x = eight_regions, y = prop_comentaram, fill = site)) +
geom_bar(stat = "identity", position = "dodge") +
xlab("Continente") +
ylab("Proporção de Comentários") +
scale_fill_manual(values = c("#FF7F00", "#1F78B4", "#33A02C", "#E31A1C")) +
ggtitle("Proporção de Comentários por Continente e Site") +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
Com base na visualização, podemos observar a proporção de comentários em
cada continente, diferenciando os sites StackOverflow (representado pela
cor laranja) e SuperUser (representado pela cor azul). Cada barra
representa um continente, e a altura da barra indica a proporção média
de comentários em relação ao total de usuários para cada site. A
presença de “NA” na última posição do eixo x indica que há uma categoria
de dados não identificada ou não disponível no ponto específico.
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(dados, aes(x = PDI, y = comentaram_prop, color = six_regions)) +
geom_point() +
xlab("Índice de Hierarquia (PDI)") +
ylab("Proporção de Comentários") +
ggtitle("Relação entre PDI e Proporção de Comentários") +
scale_color_manual(values = c("red", "blue", "green", "orange", "purple", "yellow"))
dados_selec = subset(dados, select = c(site, country, PDI, usuarios, comentaram_prop, Internet, four_regions, eight_regions, six_regions))
dados_selec = na.omit(dados_selec)
dados_selec %>%
ggplot(aes(x = comentaram_prop,
y = log10(usuarios),
color = six_regions,
size = Internet)) +
geom_point(shape = 16, fill = "lightblue") +
labs(x = "Proporção de Comentários", y = "Log10(Usuários)", color = "Regiões") +
theme(legend.position = "right")
Vamos remover colunas desnecessárias para simplificar a análise,
reduzindo a quantidade de informações a serem consideradas o objetivo de
trabalhar com um conjunto de dados mais limpo e completo.
# Filtrar os dados apenas para StackOverflow
so_data <- dados_selec[dados_selec$site == "StackOverflow", ]
# Filtrar os dados apenas para SuperUser
su_data <- dados_selec[dados_selec$site == "SuperUser", ]
# Gráfico para StackOverflow
p1 <- ggplot(so_data, aes(x = comentaram_prop, y = log10(usuarios), color = six_regions, size = Internet)) +
geom_point(shape = 16, fill = "lightblue") +
labs(x = "Proporção de Comentários", y = "Log10(Usuários)", color = "Regiões") +
ggtitle("StackOverflow")
# Gráfico para SuperUser
p2 <- ggplot(su_data, aes(x = comentaram_prop, y = log10(usuarios), color = six_regions, size = Internet)) +
geom_point(shape = 16, fill = "lightblue") +
labs(x = "Proporção de Comentários", y = "Log10(Usuários)", color = "Regiões") +
ggtitle("SuperUser")
# Exibir os gráficos lado a lado
grid.arrange(p1, p2, ncol = 2)
Os gráficos lado a lado mostram a relação entre a proporção de
comentários e o logaritmo (base 10) do número de usuários nos sites
StackOverflow e SuperUser.
No gráfico do StackOverflow, podemos observar como a proporção de comentários varia em relação ao número de usuários nos diferentes países. A cor dos pontos indica a região geográfica à qual cada país pertence, permitindo identificar padrões geográficos nas características do site.
No gráfico do SuperUser, a mesma análise é aplicada, mas focada nesse site específico. Comparando os dois gráficos lado a lado, podemos perceber as diferenças na distribuição da proporção de comentários e do número de usuários entre os dois sites.
Inclua o continente dos países (six_regions) na
visualização.
dados %>%
na.omit() %>%
ggplot(aes(x = PDI, y = comentaram_prop, color = six_regions, size = usuarios)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(x = "PDI", y = "Proporção de Comentários", color = "Continente", size = "Usuários", title = "Relação entre PDI e Proporção de Comentários")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_smooth()` using formula = 'y ~ x'
## Warning: The following aesthetics were dropped during statistical transformation: size
## ℹ This can happen when ggplot fails to infer the correct grouping structure in
## the data.
## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
## variable into a factor?
Em resumo, o gráfico apresenta a relação entre o índice de distância de
poder (PDI) e a proporção de comentários, com os pontos coloridos por
continente e o tamanho dos pontos representando a quantidade de
usuários. A linha de ajuste linear mostra a tendência geral da relação
entre as variáveis.