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).
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.1 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(zoo)
##
## Attaching package: 'zoo'
##
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(grid)
geographies = read_csv(here::here("/Users/joaosoaresalmeida/Documents/Pós Graduação/projetos/fpcc2-lab3-joaosoaresalmeidaa-master/data/participation-per-country.csv"))
## Rows: 157 Columns: 21
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (7): site, country, geo, four_regions, eight_regions, six_regions, Worl...
## dbl (14): PDI, IDV, MAS, UAI, usuarios, responderam_prop, perguntaram_prop, ...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
cor_pearson <- cor.test(geographies$PDI, geographies$comentaram_prop, method = "pearson")$estimate
cor_kendall <- cor.test(geographies$PDI, geographies$comentaram_prop, method = "kendall")$estimate
cor_spearman <- cor.test(geographies$PDI, geographies$comentaram_prop, method = "spearman", exact = FALSE)$estimate
cor_table <- data.frame(
"Cor Pearson" = cor_pearson,
"Cor Kendall" = cor_kendall,
"Cor Spearman" = cor_spearman
)
print(cor_table)
## Cor.Pearson Cor.Kendall Cor.Spearman
## cor -0.5158066 -0.3924245 -0.5414306
Para as análises, observemos que:
Correlação de Pearson: A correlação de Pearson entre as variáveis PDI e comentaram_prop é de aproximadamente -0.52. Isso indica uma correlação negativa moderada entre essas variáveis. Ou seja, à medida que o índice PDI aumenta, espera-se uma diminuição na proporção de pessoas que comentam em questões dos outros.
Correlação de Kendall: A correlação de Kendall entre as variáveis PDI e comentaram_prop é de aproximadamente -0.39. Isso sugere uma relação de classificação negativa moderada entre essas variáveis. Isso significa que, considerando a ordem dos dados, conforme o índice PDI aumenta, existe uma tendência de que a proporção de pessoas que comentam em questões dos outros diminua.
Correlação de Spearman: A correlação de Spearman entre as variáveis PDI e comentaram_prop é de aproximadamente -0.54. Isso indica uma correlação negativa moderada entre essas variáveis, quando consideramos a ordem dos dados.
ggplot(data = geographies, 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)) +
geom_smooth(method = "lm", se = FALSE, color = "black") +
labs(x = "PDI", y = "Proporção de pessoas que comentaram em questões dos outros", color = "Internet", size = "Usuários") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
Resposta:
Foi utilizado um gráfico de dispersão com a proporção de usuários que comentaram em questões dos outros (comentaram_prop) em relação ao PDI.
Também adicionamos uma linha de regressão para facilitar a visualização da tendência geral.
Os pontos cinzas:
Contudo, mantive no gráfico para mostrar a importância dos dados completos na análise e reportar que existe países que não contemplam a análise por falta de informação sobre as variáveis que estamos levando em consideração dentro do dataset.
ggplot(data = geographies, 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()
Problema: A cor dos pontos está sendo mapeada para a mesma variável que representa a posição vertical dos pontos (comentaram_prop). Isso pode causar confusão e dificuldade na interpretação dos dados.
ggplot(data = geographies, aes(x = PDI, y = comentaram_prop)) +
geom_point(aes(size = usuarios, color = Internet), alpha = 0.5) +
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", size = "Usuários") +
theme_minimal() +
guides(color = FALSE) +
coord_flip()
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Problema: A inversão das coordenadas pode dificultar a leitura e interpretação dos dados, principalmente se houver muitos pontos próximos uns dos outros. Além disso, a legibilidade dos rótulos dos eixos pode ser comprometida.
ggplot(data = geographies, 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()
Problema: Ao usar uma escala de cores que vai do cinza ao preto, pode haver uma perda de destaque e intensidade na representação dos dados. O preto, sendo uma cor muito escura, pode dificultar a distinção entre os diferentes níveis ou categorias da variável Internet.
ggplot(data = geographies, aes(x = PDI, y = comentaram_prop, color = Internet)) +
geom_point(aes(size = usuarios, group = country), shape = "+") +
scale_color_gradient(low = "blue") +
scale_size_continuous(range = c(2,10)) +
theme_minimal() +
guides(size = FALSE)
Problema: A forma dos pontos foi alterada para “+” e a legenda de tamanho dos usuários foi removida. Essas alterações podem dificultar a compreensão dos dados, especialmente se não houver uma explicação clara sobre o significado da forma “+”.
geographies %>%
na.omit() %>%
filter(!is.na(six_regions)) %>%
ggplot(aes(
x = reorder(PDI, comentaram_prop),
y = comentaram_prop,
color = six_regions
)) +
geom_point(
alpha = 0.6,
color = "black",
fill = "red",
shape = 21,
size = 4,
stroke = 2,
show.legend = FALSE
) +
facet_grid(
site ~ .,
scales = "free_y"
) +
theme(
axis.title = element_text(color = "blue", size = 12, face = "bold"),
axis.text = element_text(color = "green", size = 10),
plot.title = element_text(color = "red", size = 16, face = "italic")
)
Problema: A escala de tamanho dos pontos não é representativa, uma vez que todos os pontos foram mantidos do mesmo tamanho utilizando a função scale_size_identity(). Isso pode resultar em uma representação inadequada da magnitude dos valores da variável “usuarios”, dificultando a compreensão da informação sobre a quantidade de usuários. Além disso, o gráfico não possui títulos significativos, ausencia de cores significativas e rótulos dos eixos ou legendas claras. Essas informações são importantes para orientar o leitor sobre o que está sendo mostrado e facilitar a interpretação dos dados.
Inclua o continente dos países (six_regions) na
visualização.
dados_filtrados <- geographies %>%
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'
Essa visualização foi escolhida para explorar a relação entre o Índice de Distância de Poder (PDI) e a proporção de pessoas que comentaram em questões dos outros. Os pontos coloridos e de diferentes tamanhos representam os países e seus usuários, permitindo identificar padrões e correlações. A linha de tendência ajuda a entender a direção e força da relação entre as variáveis. A adição de cores com base nas regiões também facilita a análise das diferenças regionais.