Ricardo Alves de Olinda

ricardo.estat@yahoo.com.br

http://lattes.cnpq.br/7767223263366578

Universidade Estadual da Paraíba

http://departamentos.uepb.edu.br/estatistica/corpo-docente/



Departamento de Estatística

UEPB - CCT - DE





Turma Especial de Membros e Servidores do Ministério Público do Estado de Mato Grosso



Use R!

Use R!

Use R!



Introdução básica sobre o software R, pode ser consultada Victor Landeiro e Paulo Justiniano



Uma breve revisão sobre o ambiente estatístico R



Introdução ao ambiente R



O R é ao mesmo tempo uma linguagem de programação e um ambiente para computação estatística e gráfica. Algumas das suas principais características são: o seu caráter gratuito e a sua disponibilidade para uma gama bastante variada de sistemas operacionais. Apesar do seu caráter gratuito o R é uma ferramenta bastante poderosa com boa capacidade de programação. Ele tem sido utilizado por pesquisadores das mais diversas áreas na análise de dados. O objetivo deste texto é introduzir aos participantes da palestra: Aplicação de métodos da Estatística Espacial e árvores de decisão utilizando o software R, os primeiros passos de instalação desse software, bem com os principais pacotes para análise de dados espaciais. Esperamos com isto tornar mais interessante esta palestra, permitindo aos participentes utilizar as técnicas estatísticas aprendidas em discipinas da estatística e aprimorar o entendimento dos conceitos estatísticos estudados.


Como instalar o R?


1º passo) Vá ao endereço (https://www.r-project.org) da página principal do projeto R e clique em download R, como mostrado na figura seguinte.



2º passo) Escolha o espelho de sua preferência, no Brasil, atualmente, existem 8



3º passo) Clique em um dos espelhos e abrirá uma nova tela. Se você utiliza plataforma Windows clique em Windows, caso contrário clique na plataforma conveniente.



4º passo) Clique em base.


5º passo) Após clicar em base aparecerá a seguinte tela. Clique em Download R 3.4.1 for Windows



6º passo) Na nova janela clique na opção referente a salvar o arquivo e selecione a pasta onde o arquivo será salvo. Depois é só executá-lo.



Como instalar o RStudio?



1º passo ) Vá ao endereço (https://www.rstudio.com) da página principal do projeto RStudio e clique em download RStudio, como mostrado na figura seguinte.



2º passo ) Desça a barra de enrrolagem, no final da página, clique na opção referente a salvar o arquivo e selecione a pasta onde o arquivo será salvo. Depois é só executá-lo.




O símbolo > indica a linha de comando (“prompt”) na qual serão digitados os comandos para execução das análises. Os comandos aparecem escritos em azul e os seus resultados (as respostas) em preto. Por exemplo, para calcular a raiz quadrada de 25 digite o comando sqrt(16) na linha de comandos e tecle Ctrl+R, Ctrl+Enter ou clicar na seta Run da janela superior esquerda. < br/>

sqrt(25)
## [1] 5

Importante: Ao invés de digitar sqrt(25) na linha de comandos você pode copiar e colar o texto sqrt(25).

Observe que a linha de comando está em azul e a linha de resposta em preto. Mais adiante você entenderá o símbolo [1] . Para executar outros comandos você deve proceder desta forma: digitar o comando e teclar Ctrl+R, Ctrl+Enter ou clicar na seta Run da janela superior esquerda.

Algumas vezes na linha de comando aparece o sinal + . Ele indica que o comando está incompleto e esperando o restante do mesmo. Você deve digitar o restante do comando em frente ao sinal + e executar. Por exemplo, veja o que acontece ao executar o sqrt(25

sqrt(25
    )
## [1] 5

Caso você não queira completar a ação e sim interrompê-la, tecle em STOP no menu principal do R.

Comentários no R


O simbolo # (jogo da velha) é utilizado para inserir comentários. Significa que tudo que está depois do jogo da velha antes de executar o comando é comentário.

Exemplo:

sqrt(25) # calcula a raiz quadrada de vinte e cinco
## [1] 5

A frase calcula a raiz quadrada de vinte e cinco é um comentário.

Separador de casas decimais


Para separar a parte inteira da parte decimal (separador de decimais) o R utiliza ponto.

Exemplo:

sqrt(26) 
## [1] 5.09902

Entanda o resultado como 5,196152.

Utilizando os Comandos de Ajuda no RStudio


Durante a utilização do software é possível consultar a sintaxe de algum comando ou obter mais informações sobre determinada função. Para isso o R conta com o comando help. A sintaxe do comando é a seguinte:

\(>help(nome\; da\; função)\)

\(?nome\;da\;função\)

As duas sintaxes acima são equivalentes, ou seja, produzem o mesmo resultado. Por exemplo, para saber mais sobre a função sqrt. No RStudio, janela inferior direita, possui uma aba help que o usuário pode descrever diretamente o nome da função para obter a ajuda.

Os arquivos de ajuda do R são geralmente compostos de 10 tópicos:

  • Description - descrição sumária da função.

  • Usage - define como utilizar a função e quais são seus argumentos.

  • Arguments - indica o significado de cada argumento.

  • Details - indica detalhes ao quais se devem estar atendo ao usar a função.

  • Value - indica como é apresentado o resultado da função.

  • Note - notas sobre a função.

  • Authors - lista os autores da função.

  • References - referências bibliográficas sobre a função.

  • See Also - lista funções do R relacionadas.

  • Examples - Exemplos de uso da função.


Você também pode buscar ajuda na internet, no site do R, com o comando RsiteSearch( ). Para utilizar esta função você precisa estar conectado à internet. Por exemplo, para buscar ajuda sobre funções para construir tábuas de vida (“life table”).

\(>RSiteSearch(``life\;table")\)

Como citar o R ou os pacotes do R em suas publicações e trabalhos?

A função citation( ) indica como citar o R.

citation()
## 
## To cite R in publications use:
## 
##   R Core Team (2018). R: A language and environment for
##   statistical computing. R Foundation for Statistical Computing,
##   Vienna, Austria. URL https://www.R-project.org/.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {R: A Language and Environment for Statistical Computing},
##     author = {{R Core Team}},
##     organization = {R Foundation for Statistical Computing},
##     address = {Vienna, Austria},
##     year = {2018},
##     url = {https://www.R-project.org/},
##   }
## 
## We have invested a lot of time and effort in creating R, please
## cite it when using it for data analysis. See also
## 'citation("pkgname")' for citing R packages.

Objetos do R


O R opera com entidades chamadas de objetos. Objetos podem ser vetores, matrizes, funções ou estruturas mais gerais. Durante uma sessão do R objetos são criados e armazenados por nome.

Por exemplo, vamos criar um objeto de nome raiz no qual vamos armazenar a raiz quadrada de 25, para isto faça:

raiz <- sqrt(25) # lê-se raiz recebe raiz quadrada de 25
raiz             # mostra o conteúdo da raiz
## [1] 5

Ao invés do símbolo \(<-\) você pode usar o sinal de igualdade.

raiz = sqrt(25) 
raiz             
## [1] 5

Vetores


Os vetores são os objetos mais importantes do R. Podem ser formados por números, nomes, elementos lógicos, desde que todos os elementos sejam do mesmo tipo.

Criando Vetores


Podemos entrar com dados definindo vetores com o comando c( ) (“c” corresponde a concatenate) ou usando funções que criam vetores. Veja e experimente com os seguintes exemplos.

Para criar um vetor com as observações 23, 21.8, 26.1, 27, referentes as idades, em anos, de 4 pessoas, faça:

idade <- c(23,21.8,26.1,27) # cria o vetor idade
idade                      # imprime os elementos do vetor idade
## [1] 23.0 21.8 26.1 27.0

Suponha que os elementos do vetor acima são as idades de Maria, Pedro, João e Rosa. Para criar um vetor com estes nomes:

nome <- c("Maria", "Pedro", "João", "Madalena") 
nome                    
## [1] "Maria"    "Pedro"    "João"     "Madalena"

Ao criar um vetor de nomes (caracteres), os elementos devem estar entre aspas duplas.

Vetores faltantes no R


Vamos agora construir um vetor com o número de anos de estudo dessas quatro pessoas. Sabemos que Maria, Pedro e João possuem respectivamente 10, 12 e 8 anos de estudo, mas esta informação não é conhecida para Madalena. Como fazer neste caso?


O R utiliza o símbolo NA (“not available”) para observações faltantes.

anosestudo <- c(10, 12, 18, NA) 
anosestudo                    
## [1] 10 12 18 NA


Instalar Pacotes no RStudio


Instando pacotes

O R é como se fosse um sistema, no qual podemos baixar aplicativos. Imagine o R como o Android ou o IOS de seu celular; se eu quero realizar uma metanálise, eu preciso instalar um aplicativo que realiza metanálise por exemplo. Para esses aplicativos damos o nome de “pacotes”. O pacote que utilizaremos é o pacote “meta”

1 - Abra o Rstudio

2 - Siga os passos da figura abaixo:

  1. Clique em Packages;

  2. Clique em Install;

  3. Será aberta a caixa para instalação dos complementos e então escreva o nome do complemento a instalar (fBasics);

  4. Clique em install

3 - Após instalar, se certifique que o pacote meta está habilitado, ou seja, com o “check” na caixa ao lado de seu nome. A instalação do pacote é necessária apenas uma vez, contudo sempre que for reiniciar o R, é necessário habilitar o pacote marcando essa opção.

Nomeando os Objetos


Os nomes dos objetos devem começar com letras e podem conter letras, números e pontos. Ao nomear objetos evite o uso de cedilha e acentos e lembre-se também que o R faz a distinção entre letras maiúsculas e minúsculas. O R possui alguns nomes reservados, isto é, nomes que não podem ser utilizados pelo usuário para nomear objetos porque têm significado especial na linguagem R. Um deles é o nome NA que representa observações faltantes ou não disponíveis. Outros exemplos são: FALSE, .Inf, NaN, NULL, TRUE, break, else, for, function, if, in, next, repeat, while.

Operações com Vetores

Vetores podem ser utilizados em operações aritméticas realizadas para cada elemento. Considerando o vetor idade em anos, vamos obter as idades em meses.

idademes <- idade*12
idademes                    
## [1] 276.0 261.6 313.2 324.0

A simbologia utilizada pelo R para operadores aritméticos elementares é apresentada na tabela seguinte:

Nomeando os Objetos


Iniciamos carregando os pacotes necessários para as análises

library(fBasics) # Estatística descritiva
## Loading required package: timeDate
## Loading required package: timeSeries
## 
## Rmetrics Package fBasics
## Analysing Markets and calculating Basic Statistics
## Copyright (C) 2005-2014 Rmetrics Association Zurich
## Educational Software for Financial Engineering and Computational Science
## Rmetrics is free software and comes with ABSOLUTELY NO WARRANTY.
## https://www.rmetrics.org --- Mail to: info@rmetrics.org
library(MASS) # Estatística descritiva
library(moments) # Estatística descritiva
## 
## Attaching package: 'moments'
## The following objects are masked from 'package:timeDate':
## 
##     kurtosis, skewness
library(scatterplot3d) # Obter gráficos em 3d


Para realizar as análises exploratórias a seguir, utilizaremos um conjunto de dados extraídos dos Painéis do Conselho Nacional de Justiça do Mato Grosso nos links Justiça em Números e produtividade - informações públicas e disponível no Portal Transparência da Instituição.

Dados disponíveis refere-se as variáveis: Taxa de Congestionamento de Processos (TAX), Estoque de Processos (EST), População (POP), Casos Novos (NOV), Magistrados (MAG), Processos Baixados (BAIX), combinação do PIB per Capita (PPC), Índice de Atendimento à Demanda (IAD) e Força de Trabalho Total (FTT).

Antes, vamos mudar o diretório para a pasta onde encontra-se os dados

Primeiro, vamos verificar como escolher o diretório em que iremos trabalhar. Isto é, em qual pasta vamos salvar os arquivos ou onde está localizado o arquivo que gostaríamos de carregar no R.

O mais fácil, no point and click do RStudio é ir no Source -> Set working directory -> Choose Directory e digitar a pasta em que estão/devem estar os arquivos relacionados ao projeto que você está trabalhando, como na figura abaixo:



Importação dos dados para o R

comarca = read.table('Comarcas.txt', header=TRUE)

Lendo as seis primeiras linhas dos dados

head(comarca)
##   COM  EST BAIX NOV   TAX   IAD MAG FTT
## 1 AGA 3982  156 194 0.799 0.602   1  32
## 2 ATA 3066  322 149 0.649 1.846   1  26
## 3 API 1808  331  61 0.611 4.022   1  18
## 4 ARA 5681  325 198 0.757 1.690   1  47
## 5 ARE 5463  551 173 0.695 3.298   0  43
## 6 ARI 5175  235 123 0.781 1.592   0  31

Análise descritiva utilizando o pacote fBasics

basicStats(comarca[,-1], ci = 0.95)
##                      EST         BAIX           NOV       TAX        IAD
## nobs        7.900000e+01 7.900000e+01  7.900000e+01 79.000000  79.000000
## NAs         0.000000e+00 0.000000e+00  0.000000e+00  0.000000   0.000000
## Minimum     1.379000e+03 5.100000e+01  3.400000e+01  0.551000   0.260000
## Maximum     3.369340e+05 3.561700e+04  4.960100e+04  0.907000   5.391000
## 1. Quartile 3.773500e+03 1.990000e+02  1.260000e+02  0.701500   0.672500
## 3. Quartile 9.514500e+03 7.055000e+02  5.935000e+02  0.804500   1.531500
## Mean        1.375446e+04 1.098089e+03  1.249076e+03  0.751241   1.277051
## Median      5.681000e+03 3.220000e+02  2.260000e+02  0.757000   0.916000
## Sum         1.086602e+06 8.674900e+04  9.867700e+04 59.348000 100.887000
## SE Mean     4.366081e+03 4.546752e+02  6.314336e+02  0.008621   0.109766
## LCL Mean    5.062255e+03 1.928998e+02 -8.011811e+00  0.734076   1.058523
## UCL Mean    2.244666e+04 2.003277e+03  2.506164e+03  0.768405   1.495579
## Variance    1.505951e+09 1.633163e+07  3.149796e+07  0.005872   0.951842
## Stdev       3.880658e+04 4.041242e+03  5.612305e+03  0.076629   0.975624
## Skewness    7.382800e+00 7.910395e+00  8.103373e+00 -0.263022   1.969970
## Kurtosis    5.799412e+01 6.441079e+01  6.674795e+01 -0.179338   4.191895
##                    MAG         FTT
## nobs         79.000000   79.000000
## NAs           0.000000    0.000000
## Minimum       0.000000    1.517000
## Maximum      80.000000  460.000000
## 1. Quartile   1.000000   27.000000
## 3. Quartile   2.000000   59.000000
## Mean          3.253165   59.740722
## Median        1.000000   37.000000
## Sum         257.000000 4719.517000
## SE Mean       1.053497    7.703139
## LCL Mean      1.155812   44.404949
## UCL Mean      5.350517   75.076494
## Variance     87.678676 4687.730134
## Stdev         9.363689   68.467000
## Skewness      7.105921    3.731692
## Kurtosis     54.385797   16.456146

Deixando apenas uma casa decimal utilizando a função round

round(basicStats(comarca[,-1], ci = 0.95),1)
##                      EST       BAIX        NOV  TAX   IAD   MAG    FTT
## nobs                79.0       79.0       79.0 79.0  79.0  79.0   79.0
## NAs                  0.0        0.0        0.0  0.0   0.0   0.0    0.0
## Minimum           1379.0       51.0       34.0  0.6   0.3   0.0    1.5
## Maximum         336934.0    35617.0    49601.0  0.9   5.4  80.0  460.0
## 1. Quartile       3773.5      199.0      126.0  0.7   0.7   1.0   27.0
## 3. Quartile       9514.5      705.5      593.5  0.8   1.5   2.0   59.0
## Mean             13754.5     1098.1     1249.1  0.8   1.3   3.3   59.7
## Median            5681.0      322.0      226.0  0.8   0.9   1.0   37.0
## Sum            1086602.0    86749.0    98677.0 59.3 100.9 257.0 4719.5
## SE Mean           4366.1      454.7      631.4  0.0   0.1   1.1    7.7
## LCL Mean          5062.3      192.9       -8.0  0.7   1.1   1.2   44.4
## UCL Mean         22446.7     2003.3     2506.2  0.8   1.5   5.4   75.1
## Variance    1505950621.3 16331633.5 31497964.4  0.0   1.0  87.7 4687.7
## Stdev            38806.6     4041.2     5612.3  0.1   1.0   9.4   68.5
## Skewness             7.4        7.9        8.1 -0.3   2.0   7.1    3.7
## Kurtosis            58.0       64.4       66.7 -0.2   4.2  54.4   16.5

Construindo a distribuição de frequência

par(mfrow=c(2,2))
densityPlot(as.timeSeries(comarca$TAX),ylim=c(0,8))
## Warning: In density.default(X, ...) :
##  extra argument 'ylim' will be disregarded
densityPlot(as.timeSeries(comarca$IAD),ylim=c(0,0.9))
## Warning: In density.default(X, ...) :
##  extra argument 'ylim' will be disregarded
densityPlot(as.timeSeries(comarca$MAG),ylim=c(0,0.05))
## Warning: In density.default(X, ...) :
##  extra argument 'ylim' will be disregarded
densityPlot(as.timeSeries(comarca$FTT),ylim=c(0,0.020))
## Warning: In density.default(X, ...) :
##  extra argument 'ylim' will be disregarded

Boxplot

Para construir o boxplot vamos usar a função boxplot.

boxplot(comarca$TAX,las=2,ylab="Taxa de Congestionamento de Processos", xlab="Box-Plot")



Descrição dos dados utilizados no livro: Métodos Estatísticos Multivariados (Bryan J. F. Manly, 3ª Edição, 2008).


Dados utilizados na aplicação da Análise de Componentes Principais


Exemplo 1.5


Os dados da Tabela 1.5 mostram as porcentagens da força de trabalho em nove diferentes tipos de indústrias para 30 países europeus. Nesse caso, métodos multivariados podem ser úteis para isolar grupos de países com padrões similares de empregos, e, em geral, ajudar o entendimento dos relacionamentos entre os países. Diferenças entre países que são relacionados a grupos políticos (UE, a União Euporéia; AELC, a área européia de livre comércio; países do leste europeu e outros países) podem ser de particular interesse.


Vamos ao R!