Software R - introdução Monitoria de Econometria Avançada Paloma Vaissman Uribe
Como instalar o software R O R é um software livre para análise estatística que está disponível para as plataformas UNIX, Windows e MacOS. No Windows: Para baixar o R para o Windows entre no site do R www.r-project.org Clique em CRAN (Comprehensive R Archive Network) Escolha o espelho de sua preferência (CRAN mirrors) Clique em Windows 95 or later Clique em base e salve o arquivo do R para Windows. Depois é só executar o arquivo.
Noções gerais sobre o R O sinal > (sinal de maior) indica o prompt e quer dizer que o R está pronto para receber comandos. Em alguns casos um sinal de + aparecerá no lugar do prompt, isso indica que ficou faltando algo na linha de comandos anterior (isso acontece quando houve um erro, ou quando a finalização do comando só ocorrerá nas próximas linhas). Se tiver errado pressione Esc para retornar ao prompt normal e sumir com o sinal de +. Os comandos que você digita aparecem em vermelho e o output do R aparece em azul. Após digitar os comandos tecle Enter para que eles sejam executados!
Noções gerais sobre o R Para usar o R é necessário conhecer e digitar comandos. Alguns usuários acostumados com outros programas notarão de início a falta de menus (opções para clicar). O R é case-sensitive, isto é, ele diferencia letras maiúsculas de minúsculas, portanto A é diferente de a. O separador de casas decimais é ponto.. A vírgula é usada para separar argumentos (informações). Uma boa alternativa para facilitar a ausência de menus é instalar o RStudio, um programa que contém um ambiente de desenvolvimento integrado ou interface mais amigável para o R (mas ainda assim precisa ter o R instalado na máquina). Para isso entrar em www.rstudio.com, fazer o download e seguir as instruções de instalação.
Instalação e uso de pacotes no R Para instalar um pacote abra o R e digite na linha de comandos install.packages( nome do pacote ). É preciso estar conectado à internet. Para o curso de Econometria Avançada, alguns pacotes interessantes são: astsa (Shumway and Stoffer, 2014) FinTS (Tsay, 2005) Como alternativa, o RStudio já possui o menu específico Packages, onde pode-se clicar em Install e digitar o nome do pacote. Não basta apenas instalar um pacote. Para usá-lo é necessário carregar o pacote sempre que você abrir o R e for usá-lo. Use a função library para rodar um pacote. library(astsa)
Como usar a ajuda do R O R tem diversas funções que podemos usar para fazer os cálculos desejados. O uso básico de uma função é escrever o nome da função e colocar os argumentos entre parênteses. Para ver a documentação sobre uma funçao do R podemos digitar na barra de comandos: help(plot)
Acessando uma base de dados A forma mais adequada vai depender do tamanho do conjunto de dados, e se os dados já existem em outro formato para serem importados ou se serão digitados diretamente no R. Entrando com dados diretamente no R: Pode-se definir um vetor: A <- c(2, 5, 8)
Software R - introdução Acessando uma base de dados Ler um arquivo.txt no R: Exemplo: o arquivo tem 14 colunas e 24 linhas e deve ser lido linha a linha.
Acessando uma base de dados Ler um arquivo.txt no R: Pode-se usar a função scan() junto com a função matrix(): data = matrix(scan( "~/Documents/Insper/Archive/presidenteprudente.txt"), 24,14,byrow=TRUE) Obs: Colocar o caminho adequado.
Acessando uma base de dados Ler um arquivo.txt no R: Pode-se usar a função read.table(): data = read.table("airline.txt",header=true) Nesse caso, os dados já estavam arrumados em colunas, e utilizamos a opção header=true para notar que a primeira linha é de títulos das variáveis.
Acessando uma base de dados Ler um arquivo.csv no R: Pode-se usar a função scan() junto com a função matrix(): petrobras<-read.csv( "~/Documents/Insper/Archive/petrobras.csv") Obs: Colocar o caminho adequado. Obs2: Pode-se usar o menu do RStudio > Import Dataset > From Text File > escolher arquivo e verificar as delimitações do mesmo. Assim é possível visualizar os dados no Environment. Não funciona com arquivos do Excel.
Como fazer gráficos no R Para fazer gráficos usamos a função plot(), por exemplo: plot(petrobras[,4]/1000000, xlab="day",ylab="volume (in millions)", type="l",main="volume Petro") # input é coluna 4 do arquivo (em milhões) # ylab e xlab definem a legenda dos eixos # type é o tipo de linha # main é o título do gráfico
Como fazer gráficos no R Volume Petro Volume (in millions) 0 50 100 150 0 500 1000 1500 2000 2500 3000 3500 Day
Como fazer gráficos no R Outro exemplo, agora dois gráficos na mesma figura: Presidente Prudente Indice pluviometrico 0 200 400 0 50 100 150 200 250 Ano Ribeirao Preto Indice pluviometrico 0 400 800 1200 0 50 100 150 200 250 Ano
Como fazer gráficos no R Para esse exemplo usamos: par(mfrow=c(2,1)) #Usamos par(mfrow=c(nrows,ncols)) # para alinhar os gráficos na mesma figura data = matrix(scan( "~/Documents/Insper/Archive/presidenteprudente.txt"), 24,14,byrow=TRUE) y = matrix(t(data[,2:13]),24*12,1) y[y==999] = NA plot(y,type="l",xlab="ano", ylab="indice pluviometrico") title("presidente Prudente")
Como fazer gráficos no R (continuação) data = matrix(scan( "~/Documents/Insper/Archive/ribeiraopreto.txt"), 24,14,byrow=TRUE) y = matrix(t(data[,2:13]),24*12,1) y[y==999] = NA plot(y,type="l",xlab="ano", ylab="indice pluviometrico") title("ribeirao Preto") # Utilizamos a função t() para transpor os dados # e corrigimos y==999 como dado faltante
Como fazer gráficos no R data = read.table("airline.txt",header=true) attach(data) year = 1949:1960 ind = seq(1,nrow(data),by=12) plot(airline,xlab="year",ylab="total passengers (in thousan axes=false,type="l") axis(2);box();axis(1,at=ind,lab=year) Aqui formamos uma sequencia de números de 1 até n (tamanho dos dados), de 12 em 12, ou seja: 1 13 25... O objetivo deste passo é que a legenda do eixo y só exiba os anos de 12 em 12 meses.
Como fazer gráficos no R ## The following objects are masked from data (pos = 3): ## ## airline, DATA, mes Total passengers (in thousands) 100 300 500 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 Year
Usando alguns comandos para Séries Temporais acf(airline) Series airline ACF 0.2 0.2 0.6 1.0 0 5 10 15 20 Lag
Usando alguns comandos para Séries Temporais pacf(airline) Series airline Partial ACF 0.5 0.0 0.5 1.0 5 10 15 20 Lag
Usando alguns comandos para Séries Temporais library("astsa") acf2(airline) ACF 0.5 0.5 1.0 Series: airline 5 10 15 20 LAG PACF 0.5 0.5 1.0 5 10 15 20 LAG