Comecei o desafio carregando dados:
library("openxlsx")
dados= read.xlsx("homework3.xlsx", colNames = TRUE)
head(dados)
## Country HDI_Rank HDI CPI Region
## 1 Afghanistan 172 0.398 1.5 Asia Pacific
## 2 Albania 70 0.739 3.1 East EU Cemt Asia
## 3 Algeria 96 0.698 2.9 MENA
## 4 Angola 148 0.486 2 SSA
## 5 Argentina 45 0.797 3 Americas
## 6 Armenia 86 0.716 2.6 East EU Cemt Asia
summary(dados)
## Country HDI_Rank HDI CPI
## Length:173 Min. : 1.00 Length:173 Length:173
## Class :character 1st Qu.: 47.00 Class :character Class :character
## Mode :character Median : 96.00 Mode :character Mode :character
## Mean : 95.28
## 3rd Qu.:143.00
## Max. :187.00
## Region
## Length:173
## Class :character
## Mode :character
##
##
##
# como pode ser visto, o HDI e o CPI apresentam dados que são do tipo String ou caracter. É preciso fazer uma conversão numérica para utilizá-los.
# não utilizaremos HDI_RANK, que por ser inteiro foi reconhecido como número.
HDI <- as.numeric(dados$HDI)
CPI <- as.numeric(dados$CPI)
Country <- dados$Country
Region <- dados$Region
df <- data.frame(Country,CPI,HDI,Region)
head(df)
## Country CPI HDI Region
## 1 Afghanistan 1.5 0.398 Asia Pacific
## 2 Albania 3.1 0.739 East EU Cemt Asia
## 3 Algeria 2.9 0.698 MENA
## 4 Angola 2.0 0.486 SSA
## 5 Argentina 3.0 0.797 Americas
## 6 Armenia 2.6 0.716 East EU Cemt Asia
summary(df)
## Country CPI HDI Region
## Length:173 Min. :1.500 Min. :0.2860 Length:173
## Class :character 1st Qu.:2.500 1st Qu.:0.5090 Class :character
## Mode :character Median :3.200 Median :0.6980 Mode :character
## Mean :4.052 Mean :0.6581
## 3rd Qu.:5.100 3rd Qu.:0.7930
## Max. :9.500 Max. :0.9430
Como pode ser evidenciado, apenas a colunas Region e Country continuaram com dados categóricos.
library(ggplot2)
Construa um diagrama de dispersão entre as variáveis CPI (eixo x) e HDI (eixo y). Coloque a cor vermelha nos pontos.
La <- ggplot(df, aes(x=CPI,y=HDI, color="red")) + geom_point()
La
Agora diferencie a cor dos pontos por região:
lb <- ggplot(df, aes(x=CPI,y=HDI, color=Region)) + geom_point()
lb
Faça um gráfico com pontos maiores:
lc <- ggplot(df, aes(x=CPI,y=HDI, color="red")) + geom_point(size=3)
lc
Faça um gráfico que o tamanho dependa da variável HDI:
ld <- ggplot(df, aes(x=CPI,y=HDI, color="red")) + geom_point(size=HDI)
ld
Inclua nomes nos eixos X e Y, um titulo, bem como legendas que julgar necessário.
le <- ggplot(df, aes(x=CPI,y=HDI, color=Region)) + geom_point(size=CPI) + labs (x="PaÃses em ordem decrescente de corrupção", y="Indice de Desenvolvimento Humano",title="Comparativo IDH x Corrupção")
le
DESAFIO:
g=ggplot(df, mapping=aes(x=CPI, y=HDI, color=Region)) + geom_point(shape=19,size=4)+scale_x_continuous(limits=c(1,10.5), breaks=1:10) +
scale_y_continuous(limits = c(0.2,1.0))
gh=g + geom_smooth(aes(group=1),method='lm', formula=y~log(x),se=FALSE, color='red')
g1= gh+ geom_text(aes(label=Country))
plot=c("Russia", "Venezuela", "Iraq", "Myanmar", "Sudan",
"Afghanistan", "Congo", "Greece", "Argentina", "Brazil",
"India", "Italy", "China", "South Africa", "Spane",
"Botswana", "Cape Verde", "Bhutan", "Rwanda", "France",
"United States", "Germany", "Britain", "Barbados", "Norway", "Japan", "New Zealand", "Singapore", "Cuba")
g2 <- gh + geom_text(aes(label=Country), color='gray20',data=subset(df, Country %in% plot), check_overlap = TRUE)
g3 <- g2 + theme_bw()
g4 <- g3 + labs(x="Corruption Perceptions Index, 2011 (10=least corrupt)",
y="Human Development Index, 2011 (1=Best)",
title='Corruption and Human Development')
g4