30/08/2023

Estrutura

  • 1)INTRODUÇÃO: ASPECTOS BÁSICOS DO R.

  • 2)ESTATÍSTICAS DESCRITIVAS.

  • 3)ANÁLISE GRÁFICA.

  • 4)IMPORTAÇÃO E “LIMPEZA” DE DADOS.

  • 5)LENDO DADOS DO BANCO CENTRAL.

1) INTRODUÇÃO: ASPECTOS BÁSICOS DO R

Lendo os pacotes

  • Quando digitamos após o símbolo #, o R reconhecerá que essas palavras não são um comando, servindo para fazermos anotações e comentários.
#install.packages("ggplot2")
#install.packages("plotly")
#install.packages("readxl")
#install.packages("BETS")
#install.packages("dplyr")
library(ggplot2)
library(plotly)
library(readxl)
library(BETS)
library(dplyr)

O R como uma calculadora

  • Podemos utilizar o R como uma calculadora, por exemplo, realizando as operações básicas: soma (+), subtração (-), divisão(/) e multiplicação (*).
# Soma +
8+2
## [1] 10
#Subtração - 
8-2
## [1] 6

O R como uma calculadora

#Multiplicação *
8*2
## [1] 16
#Divisão /
8/2
## [1] 4
#Exponencial ^ ou **
2^3
## [1] 8

Vetores e Base de dados

  • Vamos supor que tenhamos 5 alunos de uma turma e suas respectivas notas em duas disciplinas, vamos criar um vetor com esses dados.
  • Primeiramente, escolhemos o nome, digamos notas_a, notas_b e nomes, este último caso contendo os nomes dos alunos, abaixo temos os comandos para realização desta tarefa.
  • Em seguida criaremos uma base de dados com esses vetores (dataframe).
# Vetores
notas_a=c(9,8,7,4,5)
notas_b=c(7,6,8,5,7)
nomes=c("Beatriz", "Joana", "Pedro", "Enzo", "Alfredo")

# Dataframe
dados=data.frame(notas_a, notas_b, nomes)

Criando uma nova variável para base de dados existente

  • Adionaremos agora uma variável à base de dados que criamos.

  • O novo indicador corresponde a média das duas notas.

dados$notas_c=(dados$notas_a+ dados$notas_b)/2

2) ESTATÍSTICAS DESCRITIVAS

Média Aritmética

  • A média é uma medida de posição central dos dados. Considerando uma amostra de tamanho n para a variável x, a fórmula da média é:

\[\bar{x}=\frac{\sum x_i}{n} \]

# Média
mean(notas_a)
## [1] 6.6
mean(dados$notas_a)
## [1] 6.6

Mediana

  • Organize os dados de forma crescente.

  • Para um número ímpar de observações, a mediana é o valor intermediário.

  • Para um número par de observações, a mediana é a média dos dois valores intermediários.

median(dados$notas_a)
## [1] 7

Percentis

  • O p-ésimo percentil é um valor tal que pelo menos p por cento das observações são menores ou iguais a esse valor e pelo menos (100-p) por cento das observações são maiores ou iguais a esse valor.
quantile(notas_a, c(.25, .5))
## 25% 50% 
##   5   7

Variância e Desvio Padrão

  • Variância é uma medida da variabilidade que utiliza todos os dados. Seu cálculo se baseia nos desvios em torno da média ao quadrado. A medida da variância é expressa na unidade de medida original ao quadrado.

  • O Desvio Padrão é definido como a raiz quadrada da variância.

  • As fórmulas abaixo se referem respectivamente à variância e ao desvio padrão amostral.

\[s^2=\frac{\sum (x_i-\bar{x})^2}{n-1} \]

\[s=\sqrt{s^2}=\sqrt{\frac{\sum (x_i-\bar{x})^2}{n-1}} \]

Variância e Desvio Padrão no R

# variância
var(notas_a)
## [1] 4.3
# desvio-padrão
sd(notas_a)
## [1] 2.073644

Correlação

  • Medida de associação linear entre duas variáveis que varia entre -1 e 1. Quanto mais próximo de 1 (-1) maior a associação linear positiva (negativa). \[ r_{xy}=\frac{s_{xy}}{s_x s_y}\] Onde:

\(r_{xy}\) é o coeficiente de correlação (amostral) de Pearson.

\(s_{xy}\) é a covariância da amostra.

\(s_x\) é o desvio padrão de x e \(s_y\) é o desvio padrão de y.

Correlação no R

cor(notas_a,notas_b)
## [1] 0.4441027

3) ANÁLISE GRÁFICA

Gráficos com o ggplot2

  • O ggplot2 é um pacote que serve para plotarmos gráficos. A tabela abaixo apresenta alguns dos tipos de gráficos possíveis:
Tipo do gráfico complento do comando ggplot
Linha (série) geom_line()
Dispersão geom_point()
Barra geom_bar()
Box Plot geom_boxplot()
Histrograma geom_histogram()
Densidade geom_density()

Gráfico de barras

graf_a=ggplot (data=dados, aes( y=notas_a,x=nomes ))+ 
  geom_bar (stat="identity") 
graf_a

Controlando a largura da barra

ggplot (data=dados, aes( y=notas_a,x=nomes ))+ 
  geom_bar (stat="identity", width=0.3) 

Outra forma

ggplot(dados, aes(x=notas_a, y=reorder(nomes, notas_a))) +
  geom_segment(aes(yend=nomes), xend=0, colour="grey50") +
  geom_point(size=3 )

Gráfico de dispersão

graf_b=ggplot(dados, aes(x= notas_a, y= notas_b ))+ geom_point() 

graf_b

Box Plot

ggplot(dados,  aes(notas_a))+ geom_boxplot()

4)IMPORTAÇÃO E “LIMPEZA” DE DADOS

Como importar dados do excel?

  • Importaremos dados do excel que retiramos do Atlas do Desenvolvimento Humano do Brasil, referente aos municípios do Brasil, no ano de 2010 (http://atlasbrasil.org.br/2013/pt/consulta/).
  • Variáveis: proporção de pobres (pobreza) e esperança de vida ao nascer (exp).
  • Podemos utilizar o comando read_excel, ou ainda a janela do R Studio no segundo quadrante, na aba chamada de Import Dataset. Se for usar o código, lembre de mudar o caminho (“D:/dados/dados_atlas.xls”) do arquivo.
dados_atlas = read_excel("D:/dados/dados_atlas.xls")

Estatísticas descritivas com os dados importados

# Estatísticas Descritivas
summary(dados_atlas)
##       cod              mun                 exp           pobreza     
##  Min.   :1100015   Length:5565        Min.   :65.30   Min.   : 0.19  
##  1st Qu.:2512101   Class :character   1st Qu.:71.15   1st Qu.: 7.03  
##  Median :3146206   Mode  :character   Median :73.47   Median :18.15  
##  Mean   :3253053                      Mean   :73.09   Mean   :23.21  
##  3rd Qu.:4119004                      3rd Qu.:75.16   3rd Qu.:38.52  
##  Max.   :5300108                      Max.   :78.64   Max.   :78.59  
##                                                       NA's   :2      
##   macro_reg        
##  Length:5565       
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

Juntando base de dados

  • Juntaremos duas bases de dados, essa que já estamos trabalhando e uma outra que contém a variável IDHM
IDHM = read_excel("D:/dados/IDHM.xls")

dados_atlas=merge(dados_atlas, IDHM, by = c("cod"))

Excluindo missings

dados_atlas=na.omit(dados_atlas)

Ordenando dados

  • Ordenaremos os dados, por exemplo, seguindo a variável pobreza da base de dados dados_atlas.
dados_atlas=dados_atlas[order(dados_atlas$pobreza),]

Correlação

  • Correlação entre pobreza e expectativa de vida ao nascer.
cor(dados_atlas$exp,dados_atlas$pobreza)
## [1] -0.821901

Selecionando colunas

  • Criando uma nova base de dados com algumas variáveis.
atlas_exp=select(dados_atlas, cod, exp, mun)

Filtrando linhas

  • Criando uma nova base de dados com os municípios do Nordeste.
atlas_Nordeste=filter(dados_atlas, macro_reg=="Nordeste")

Renomeando uma variável

atlas_Nordeste=rename(atlas_Nordeste, exp_vida=exp)

Excluindo um objeto

rm(atlas_Nordeste)

Inferência Estatística

  • Teste de Hipótese de diferenças no nível de pobreza entre Nordeste e Centro-Oeste, teste t.
dados_teste=subset.data.frame(dados_atlas, macro_reg=="Nordeste" | macro_reg=="Centro-Oeste")

t.test(pobreza ~ macro_reg, data = dados_teste,alternative = c("two.side"))
## 
##  Welch Two Sample t-test
## 
## data:  pobreza by macro_reg
## t = -58.571, df = 865.66, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Centro-Oeste and group Nordeste is not equal to 0
## 95 percent confidence interval:
##  -29.35789 -27.45411
## sample estimates:
## mean in group Centro-Oeste     mean in group Nordeste 
##                   13.10472                   41.51072

Regressão Linear Simples

MQO_resultado=lm(exp~pobreza+macro_reg, data=dados_atlas)

summary(MQO_resultado)
## 
## Call:
## lm(formula = exp ~ pobreza + macro_reg, data = dados_atlas)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.1347 -0.9280  0.0912  0.9589  5.1259 
## 
## Coefficients:
##                    Estimate Std. Error  t value Pr(>|t|)    
## (Intercept)       75.413161   0.069338 1087.616  < 2e-16 ***
## pobreza           -0.081855   0.001819  -45.010  < 2e-16 ***
## macro_regNordeste -1.760383   0.089497  -19.670  < 2e-16 ***
## macro_regNorte    -0.458154   0.103652   -4.420 1.01e-05 ***
## macro_regSudeste   0.302194   0.073656    4.103 4.14e-05 ***
## macro_regSul       0.417600   0.077254    5.406 6.73e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.406 on 5557 degrees of freedom
## Multiple R-squared:  0.7253, Adjusted R-squared:  0.725 
## F-statistic:  2934 on 5 and 5557 DF,  p-value: < 2.2e-16

Gráfico de dispersão: pobreza e exp.

Gráfico com ggplotly

ggplotly(g1)

Histograma

g2=ggplot(dados_atlas, aes(pobreza, 
  fill=macro_reg))+ geom_histogram()
g2

5) LENDO DADOS DO BANCO CENTRAL

Taxa de câmbio

Gráfico da taxa de câmbio

p=ggplot(e, aes(date, value))+ geom_line(size=.8)+ 
  xlab('')+ylab('Unidade')+labs(title='Taxa de Câmbio')
p

Gráfico da taxa de câmbio- Plotly

ggplotly(p)

Proposta de exercícios

  • Fazer um gráfico boxplot com a variável pobreza da base de dados dados_atlas, considerando em uma única figura as 5 macrorregiões do Brasil.

  • Coletar o saldo da balança comercial- mercadorias em geral, a partir do ano 2000 (código 23470). Desenhar um gráfico da série.

  • Coletar exportações (código 23468) e importações (código 23469) e criar o saldo (subtração dos dois). Faça um gráfico de barras.

  • Importar dados do arquivo PIB que contém o PIB per capita dos estados no ano 2011. Fazer estatísticas descritivas e um gráfico de barras com título.

Referências

ANDERSON, D. R.; SWEENEY, D. J.; WILLIAMS, T. A. Estatística Aplicada à Administração e Economia. 2ªed. São Paulo: Cengage Learning, 2011.

KABCOFF, R. R IN ACTION: Data analysis and graphics with R. 2ªed. NY: Manning Publications Co., 2015.