Академический Документы
Профессиональный Документы
Культура Документы
c~
ao para economistas
11 de fevereiro de 2017
2
Sumario
1 Introduc~ao 5
2 Instalando o R e Basicos 7
2.1 Alguns tipos de objeto . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Pacotes 9
3.1 Instalando o Task View de Econometria . . . . . . . . . . . . . . 9
3.2 Alguns outros pacotes . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Carregando dados 11
4.1 O pacote foreign . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Importando arquivos do Excel . . . . . . . . . . . . . . . . . . . . 12
4.3 Arrumando a planilha . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Usando o attach e names . . . . . . . . . . . . . . . . . . . . . . 13
4.5 Alguns problemas adicionais de dados . . . . . . . . . . . . . . . 13
5 Regress~ao 15
5.1 Erros Robustos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 Teste F para comparar dois modelos . . . . . . . . . . . . . . . . 16
5.3 Regress~oes com umas das variaveis na forma logartima . . . . . 16
5.4 Probits e Logits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5 Variaveis Instrumentais . . . . . . . . . . . . . . . . . . . . . . . 17
6 Loops e condicionais 19
7 Miscel^aneas 21
7.1 Vetor vazio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.2 Eliminando -Inf,Inf,NaN . . . . . . . . . . . . . . . . . . . . . . . 21
7.3 Trabalhando com vetores . . . . . . . . . . . . . . . . . . . . . . 21
8 Reproduzindo resultados do R 23
9 Exemplo pratico 25
9.1 Regress~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
9.2 A Lei dos grandes numeros . . . . . . . . . . . . . . . . . . . . . 26
10 Livros e Links 29
11 Comandos importantes 31
3
4
SUMARIO
Cap
tulo 1
Introduc~ao
Isso e so uma introduc~ao ao R, que sup~oe que voc^e passou no curso de
Econometria I N da PUC-Rio. Disponibilizei livros que tratam com muito mais
detalhes sobre o R. Eu usei muito o R Book e o Econometrics with R, que s~ao
muito uteis. Mas se voc^e n~ao quiser apanhar demais, estudar livros em pdf
longos, n~ao entende ingl^es o bastante ou simplesmente n~ao quer se cansar, seja
bem vindo.
Esse manual esta longe de ser completo: e uma introduc~ao, como o proprio
ttulo indica.
Lembrem-se que o maior problema do computador n~ao e que ele n~ao faz o
que voc^e quer, mas que ele faz exatamente o que voc^e manda.
Uma ultima observac~ao: esse manual tem aqueles observac~oes caractersticas
do autor que muitos v~ao achar irritantes. Relevem, ou recorram a um dos livros
(em ingl^es, mais de 200 paginas cada. Boa sorte.)
Este manual sofreu uma extens~ao em Julho de 2016: foram adicionados no-
vas sec~oes sobre loops, condicionais, probits, logits entre outros. Muitas dessas
adic~oes foram motivadas pela propria experi^encia do autor. O autor - pretensi-
osamente - mudou o formato para parecer mais um livro.
O manual quase n~ao aborda series temporais. Futuramente, este manual
sera expandido para abordar esse tema.
5
6 CAPITULO 1. INTRODUC ~
AO
Cap
tulo 2
Instalando o R e Basicos
Instalar o R e uma tarefa obvia: va no site do Cran, baixe o R e instale. De-
pois disso, e fortemente recomendado que voc^e instale o R Studio, um programa
que funciona como \interface"para o R e vai facilitar varias tarefas. Procurem
no google por R Studio. Baixar e instalar ele deve ser bastante simples.
Tanto o R quanto o R Studio funcionam no Windows, no Mac e no Linux.
Para aqueles que n~ao loucos e usam Windows ou Mac, o R e instalado da maneira
normal: baixa, dois cliques no instalador etc etc. A mesma coisa vale para o R
Studio. Ja no Linux, recomenda-se buscar o tutorial no proprio Cran.
O R Studio tem dois ambientes de trabalho: o Console (a esquerda, embaixo)
e o ambiente \Source" (a esquerda, em cima do Console). O Console lembra o
nosso queridissmo Maple. Digite 2+2, aperte enter, e ele responde: 4.
O Source nos permite criar arquivos com comandos para o R que podem
ser salvos e o R Studio e capaz de rodar diretamente. Para criar um novo
arquivo desses -chamados de R Script - basta pressionar Ctrl + Shift + n. Ou
simplesmente, va no menu le, new le, R Script. Usem o R Script ao maximo,
ja que ele permite que voc^e salve os comandos e reaproveite mais tarde! Para
executar uma linha do script, va no m da linha e pressiona ctrl+enter. Para
rodar varias linhas, selecione as linhas e pressione ctrl+enter.
Para obter ajuda sobre uma determinada func~ao, basta digitar \?nome.da.func~ao".
Ou seja, se queremos saber mais sobre como usar o comando rnorm basta digitar
\?rnorm". Para obter ajuda em qualquer tema, basta digitar no R \??topico".
Assim, se voc^e quiser saber tudo que o R tem relacionado a distribuic~ao normal,
basta digitar \??normal".
Essa e uma sec~ao tradicionalmente chata. Se voc^e ja trabalhou com lingua-
gens de programac~ao, leia na diagonal. Se e a sua primeira vez usando o R, leia
na diagonal e volte para ela mais tarde.
Existem varios tipos de objetos no R, e tratarei de 4 aqui: listas, dataframes,
vetores e strings1 .
1 Ok, formalmente um vetor pode ser uma string e isso
e um pouco fazer uma confus~ao entre
tipos e tipos de objetos. A ideia aqui e entender como trabalhar no R, ent~ao essa confus~ao
pode permanecer temporariamente.
7
8 CAPITULO 2. INSTALANDO O R E BASICOS
O dataframe e o objeto mais obvio para trabalhar com dados: ele e uma
tabela, como uma planilha do excel. Cada variavel deve ocupar uma coluna do
dataframe. O dataframe aceita de tudo: numeros, texto, por exemplo. Nor-
malmente, quando importamos arquivos do excel (mais embaixo trataremos de
como fazer isso), eles v~ao virar objetos do tipo dataframe.
O vetor e o objeto matematico vetor, e e bastante util. Suponha que quere-
mos um vetor de todos os numeros entre 1 e 5. Podemos fazer:
c(1,2,3,4,5)
E depois digitarmos um.teste$Dia), ele deve exibir qual a data atual. Digite
um.teste$Ola) e ele deve exibir um Ola na sua tela.
Observem que eu usei um \Ola", entre aspas na lista. Aspas s~ao bastante
importante. Por exemplo, faca: c("Bom","Dia"). O R vai mostrar na tela as
duas palavras. Agora, suponha que voc^e esquecesse as aspas no Dia. Agora, o
R dara um erro: ele arma que o objeto Dia n~ao foi encontrado.
Assim, se quisermos digitar palavras, frases, letras, devemos colocar eles
entre aspas. Caso contrario, o R vai buscar o objeto com aquele nome. De
maneira bastante grosseira, express~oes desse tipo s~ao chamadas de string.
2 Isso tamb
em e verdade para um dataframe, mas para chamar pelo nome e necessario dar
attach() no dataframe. Mais sobre isso mais para frente
Cap
tulo 3
Pacotes
O R e open source, ou seja, qualquer um pode baixar ele de graca e criar
pacotes e alterac~oes para ele. Muita gente cria pacotes, para todo tipo de coisa...
inclusive econometria.
O mais bacana e que o Cran mantem alguns \conjuntos de pacotes", cha-
mados de Task View. Eu recomendo fortissimamente a instalac~ao do task view
de Econometria.
Para instalar um pacote qualquer basta digitar:
install.packages("nome-do-pacote")
Dessa vez sem aspas. Ou com aspas, n~ao faz nenhuma diferenca no caso do
comando library.
A primeira coisa a ser feita e instalar o pacote do task views, o que e feito
usando o comando acima:
install.packages("ctv")
Alguns mais assustados podem ser surpreendidos aqui com um pedido para
escolher o servidor. Escolha qualquer um. Normalmente, eu escolho o da Co-
lombia (por nenhum motivo em particular). Evitem o 0-cloud, entretanto.1 .
Daqui em diante eu sugiro prosseguir usando o R puro, sem o R Studio,
o que acelera o processo. Depois de instalar, simplesmente carregue usando o
library(ctv).
Para instalar o pacote de econometria, simplesmente digite na sess~ao do R:
install.views("Econometrics")
1 Se voc^e estiver usando o R Studio, ele ira selecionar automaticamente.
9
10 CAPITULO 3. PACOTES
Eu n~ao discuto o uso de alguns outros pacotes que s~ao uteis neste manual.
A lista a seguir e n~ao exaustiva (por motivos obvios: o R tem mais de oito mil
pacotes em 11 de fevereiro de 2017!)
ggplot2: Gracos mais bonitos do que os padr~oes do R. Mais ou menos
facil de aprender a usar. O proprio R Studio tem um tutorial.
car e lmtest: Func~oes para realizar testes de hipotese e analise de re-
gress~ao. Funcionam com uma variedade de modelos
vars Para VARs
urca Para testes de raiz unitaria e cointegrac~ao
Forecast Ferramentas para forecasting
Carregando dados
Existem varios arquivos que podem ser carregados no R para inserir dados.
E varias maneiras. Se voc^e for louco, voc^e sempre pode carregar na m~ao (cara
mais evidente mais na frente). Felizmente, existem maneiras mais racionais.
Para carregar dados vindo do Stata (como os que eram usados no curso
de Econometria I), sera necessario carregar o pacote foreign1 . Lembrando que
basta digitar library(foreign) para carregar o pacote.
Para carregar um arquivo do stata, basta digitar:
read.dta("caminho do arquivo")
1. Isso carrega o arquivo, mas voc^e n~ao consegue usar os dados para nada.
Ele vai mostrar os dados e m.
2. Procurar o caminho do arquivo - algo do tipo C:/Usuario/Fulano/Documentos/arquivo.txt
- e chatssimo.
dados<-read.dta("caminho do arquivo")
1 Acho que esse pacote j a vem instalado. Sen~ao, se rera a sec~ao sobre instalar pacotes
2 Esse
e um jarg~ao tpico da area
11
12 CAPITULO 4. CARREGANDO DADOS
O R n~ao l^e, nativamente, arquivos do excel (.xls). Felizmente, ele l^e uma
bizarrice chamada \texto (separado por tabulac~oes)"3 . A boa notcia e que o
excel salva este tipo de arquivo. Assim, temos que salvar o arquivo nesse formato
no excel (esse formato so salva uma planilha por vez).
Notem que o R l^e os dados como \vetores"coluna, logo se tivermos uma base
de dados cross-section com idade, educac~ao, renda, precisamos ter uma coluna
com idade, outra com renda, outra com educac~ao.
Supondo que os dados tem a primeira linha como nome da variavel em
quest~ao (logo, no exemplo acima, a primeira linha da Planilha teria escrito
\Educac~ao", \Renda", etc.) e que o separador de casas decimais e a vrgula,
podemos usar o comando read.delim2:
dados<-read.delim2(file.choose())
O R l^e muitos outros formatos, inclusive o formato .csv. O csv (sigla para
comma sepparated values ) e o formato que muitas bases de dados disponibili-
zam os dados - incluindo aqui o BCB e o ipeadata. O R e capaz de ler csv e
disponibiliza dois comandos: read.csv e read.csv2. O primeiro caso e quando o
3 Existem varias maneiras de salvar como texto. So serve texto (Separado por ta-
bulaco
~es)
4.3. ARRUMANDO A PLANILHA 13
csv e,de fato, separado por vrgulas, ou seja, o sistema separa cada campo com
uma vrgula. Porem, em pases como o Brasil, que usam a vrgula para separar
as casas decimais, isso surge como um problema: a vrgula esta separando dois
campos no csv ou a parte decimal? Uma soluc~ao para isso e separar os campos
com ponto e vrgula. Nesse caso, para importar o csv, voc^e deve usar o comando
read.csv2.
O excel tambem e capaz de salvar arquivos em .csv, e como no caso do .txt,
ele so salva uma planilha por vez.
possvel importar um arquivo .xlsx para o R, mas para isso e necessario
E
um pacote especco. O autor nunca viu necessidade em fazer isso e n~ao conhece
nenhum pacote com essa func~ao
Uma vez carregados os dados, para voc^e poder efetivamente usa-los, voc^e
ainda precisa indicar ao R que aquele conjunto de dados e o principal. Com
isso, as variaveis que voc^e deniu na planilha ser~ao acessveis via o nome delas.
Faca:
attach(dados)
names(dados)
O R tem algumas idiocrasias para selecionar dados, mas que uma vez que
voc^e se acostuma e muito facil usar. A forma mais inteligente de ilustrar essa
sec~ao e com um exemplo. Suponha que voc^e tem um conjunto de dados (que voc^e
chamou de \dados") com as variaveis salario, anos de estudo, mulher (Dummy
de valor 1 se e mulher)4 .
Se quisessemos selecionar da primeira a decima linha do nosso conjunto de
dados, poderamos fazer:
dados2<-dados[1:10,]
Regress~ao
Ate agora n~ao zemos nada alem de instalar pacotes e importar dados.
Vamos nalmente fazer econometria, e comecaremos com a regress~ao simples
usando MQO.
Rodar uma regress~ao e absolutamente banal. Vamos supor que voc^e im-
portou e deu \attach"em uma planilha que tem como dados y,x1,x2,x3,x4.1
Suponha que voc^e quer explicar y em func~ao de x1,x2,x3, ou seja, fazer uma
regress~ao de y sobre x1,x2,x3. Faca:
lm(y~x1+x2+x3)
melhor fazer:
Isso vai apenas exibir os resultados da regress~ao. E
modelo1<-lm(y~x1+x2+x3)
O til separa o que e variavel explicativa (a direita do til) de variaveis expli-
cadas (a esquerda do til). A soma somente estabelece que as variaveis x1,x2,x3
s~ao as variaveis explicativas e que n~ao ha interac~ao entre elas. Vale notar que o
sistema automaticamente adiciona o intercepto.
E se quisessemos criar uma interac~ao entre variaveis? Suponha que x4 e
uma dummy e queremos criar uma interac~ao entre ela e a variavel explicativa
x1. Basta fazer:
modelo1<-lm(y~x1*x4+x2+x3)
O sistema adiciona x4 no intercepto automaticamente, bem como o x1 sem
a interac~ao da dummy. O que a formula acima faz em termos econometricos e
estimar: y = 0 + 0 x4 + 1 x1 + 1 (x1 x4 ) + 2 x2 + 3 x3
Podemos usar o comando lm para realizar um mnimo quadrado ponderado:
o comando lm aceita um "peso" para ponderar os dados. Suponha que temos
uma regress~ao de y em x1 e sabemos que o peso que deixa os dados homo-
cedasticos e 1/x1. Para estimar essa regress~ao:
modelo1<-lm(y~x1, weight = 1/x1)
A func~ao summary nos da um resultado muito parecido com o resultado do
gretl. Basta fazer:
1A aus^encia de criatividade e notoria
15
16 CAPITULO 5. REGRESSAO
~
summary(modelo1)
Pode se usar varios tipos de estimador robustos. Para obter resultados iguais
ao gretl, temos que usar o HC1. Basta fazer:
coeftest(modelo1,vcovHC(modelo1,"HC1"))
possvel obter estimadores robustos a heterocedasticidade e a autocor-
E
relac~ao usando a opc~ao vcovHAC ao inves de vcovHC. Assim, teramos:
coeftest(modelo1,vcovHAC)
anova(modelo1,modelo2)
5.3 Regress~
oes com umas das vari
aveis na forma
logar
tima
Suponha que queremos realizar uma regress~ao com uma das variaveis com
log. A soluc~ao mais facil e criar uma nova variavel que e a log da outra. Suponha
que queremos regredir log(y) sobre x. Faca:
ly<-log(y)
modelo1<-lm(ly~x)
5.4. PROBITS E LOGITS 17
Os modelos probit e logit s~ao muito usados quando observamos uma esco-
lha - entrar ou n~ao no mercado do trabalho, dar ou n~ao um emprestimo - e
queremos entender os determinantes daquela escolha. Em particular, a variavel
dependente e uma probabilidade, logo so pode assumir valores entre 0 e 1.
O R tem um comando unico para probit e logit: o glm(). O comando pode
ser usado ate mesmo para regress~oes por MQO, mas nos focaremos aqui no caso
de probit e logit.
Como o glm e uma generalizac~ao do comando lm, ele e bastante parecido:
podemos escrever a regress~ao igual faramos no comando lm. O que muda e que
o comando nos permite escolher a \famlia"da variavel dependente: gaussiana
(MQO padr~ao), binomial, poisson. Nos interessa aqui o caso da binomial: anal,
variaveis que so assumem valor 0 e 1 tem distribuic~ao de bernoulli, que n~ao
passa de um caso especial da binomial. O logit e o probit s~ao as duas opc~oes
que podemos considerar para resolver o problema de maxima verossimilhanca.
S~ao, em outras palavras, as duas maneiras de ligar a variavel dummy com as
nossas variaveis independentes.
Assim, o comando toma duas opc~oes, alem das tradicionais opc~oes do co-
mando lm: family e link. Family e a famlia da distribuic~ao - no nosso caso, a
binomial. E link e como nos vamos ligar a dummy com a variavel explicativa:
no nosso caso, ou e a distribuic~ao logstica (logit) ou a normal (probit).
Se as variaveis que queremos regredir s~ao y em x, o comando para a probit
e:
Para usarmos o logit, basta mudar a opc~ao link de "probit\ para "logit\. O
comando nos da as estatsticas as quais estamos acostumados, alem de algumas
outras, incluindo o numero de iterac~oes ate o problema ser resolvido.
Sabemos que, quando estimamos o probit ou logit, a interpretac~ao do par^ametro
n~ao e facil: como o modelo n~ao e linear, o efeito da variavel independente sobre
a variavel dependente depende do valor da variavel independente. Alguns pa-
cotes ajudam a visualizar o efeito neste caso. Um deles e o eect. Vale a pena
tambem consultar o task view de econometria para ver possveis sugest~oes.
5.5 Vari
aveis Instrumentais
O pacote AER fornece uma opc~ao facil de fazer a estimac~ao por variaveis
instrumentais via o comando ivreg:
ivreg(y~x1+x2+x3+x4|z1+z2+z3+z4)
18 CAPITULO 5. REGRESSAO
~
Loops e condicionais
Como qualquer linguagem de programaca~o, o R aceita loops e condicio-
nais. A ideia do condicional e permitir a linguagem a realizar uma determinada
operac~ao se uma condic~ao e satisfeita. Caso contrario, ela faz outra operac~ao.
Os loops permitem automatizar tarefas que requerem repetir uma determinada
operac~ao n vezes. Os conceitos parecem bastante abstratos, mas caram obvios
com os exemplos que seguem nesse captulo.
Existem dois operadores muito usados para fazer loops : o while e o for.
O for permite que voc^e faca uma operac~ao n vezes, com n sendo um numero
fechado. Por exemplo, suponha que voc^e quer somar todos os numeros entre 0
e 10. Podemos fazer isso usando o for:
a <- 0
for (i in 1:10){
a <- a+i
}
Primeiro, criamos uma variavel a, com valor zero. No for, denimos que
queremos que i varie entre 1 e 10. Assim, o programa vai fazer o seguinte:
1. Primeira etapa: i = 1
(a) Pegue a (Que e igual a zero)
(b) Faca a + 1
(c) Dena a como a + 1, ou seja, a = 1
2. Segunda etapa: i = 2
(a) Pegue a (Que e igual a 1)
(b) Faca a + 2
(c) Dena a como a + 2, ou seja, a = 3
3. Terceira etapa: i = 3
(a) Pegue a (Que e igual a 3)
(b) Faca a + 3
19
20 CAPITULO 6. LOOPS E CONDICIONAIS
for (i in 1:100){
if (test[i] > 1){
print ("Maior que 1")
} else{
print("menor que 1")
}
}
Dissecando o codigo:
O test <- rnorm(100,2) gera um vetor com numeros 100 aleatorios ge-
rados de uma normal de media 2
O for permite com que o teste seja realizado para cada um dos numeros
do vetor
O if funciona da seguinte maneira: pegue a i-esima posic~ao do vetor
test. Essa posic~ao vai variar gracas ao for. No par^entese, estabelecemos
a condic~ao: o numero na posic~ao i do vetor test e maior que 1. Se isso
acontece, ent~ao realizamos a operac~ao dentro das chaves: o sistema mostra
"Maior que 1". E se o numero n~ao for maior que 1? Nesse caso, o programa
avanca para a posic~ao else e executa o que esta dentro das chaves: nesse
caso, pedimos para ele mostrar "menor do que 1"
Cap
tulo 7
Miscel^aneas
Essa sec~ao e apenas um conjunto de comandos e truques que n~ao encontrei
espaco em outras sec~oes
21
22 CAPITULO 7. MISCELANEAS
^
Reproduzindo resultados do
R
Obviamente, depois de estimar diversos modelos etc, voc^e vai querer re-
produzir os resultados obtidos. O R Studio tem uma opc~ao propria chamada
Markdown, que permite trabalhar com o word e outros formatos. O R Studio
tambem e capaz de trabalhar com o LATEX, amplamente usado no meio cientco.
Se voc^e n~ao tem nenhum interesse no LATEX, pule os proximos 2 paragrafos.
Latex (formalmente, LATEX) e um editor de texto/linguagem de programaca~o
amplamente usado na comunidade cientca. Este manual, por exemplo, foi todo
feito usando LATEX. Porem, e completamente fora do escopo deste texto tratar
sobre o tema. Vale dizer, entretanto, que o LATEX gera belssimos documentos
(como esse1 ) e que a Wikipedia tem um livro de como usar o LATEX.
Voltando ao R, o R Studio tras uma ferramenta interna que permite usar
comandos LATEX e reproduzir resultados obtidos no R diretamente em docu-
mentos .tex: e o Sweave. Basta ir em les, new le, R Sweave, e pronto. Os
que sabem usar LATEX devem olhar o ultimo captulo do Applied Econometrics
with R.
O Markdown permite que voc^e crie documentos html, pdf(atraves do LATEX)
e Word. Ele tem integrac~ao direta com o R Studio, e pode ser acessado no
les/new le/R Markdown. O R Studio tem dois tutoriais de como usar o
Markdown e o site do R Studio oferece alguns tutoriais para usar essa opc~ao.
A ideia dessa integrac~ao e que voc^e poderia digitar, diretamente, comandos
do R no arquivo de texto. Mas esse comandos geram os mesmos resultados
apresentados no programa. E bom, o sumario de regress~ao do R e util, mas
feio. Uma soluc~ao s~ao os pacotes xtable e stargazer, apesar do primeiro so
gerar resultados para o LATEX e para o Markdown. O stargazer serve para
sumarios de regress~ao, e colocando a opc~ao type="text" gera uma tabela que
pode ser prontamente copiada para o word. Existem opc~oes para Markdown e
LATEXtambem. O stargazer permite gerar tabelas com resultados de diferentes
modelos na mesma tabela. Se temos dois modelos estimados por MQO que
chamamos de m1 e m2, podemos fazer:
stargazer(m1,m2,type="text")
1 Ou n~ao
23
24 CAPITULO 8. REPRODUZINDO RESULTADOS DO R
Exemplo pratico
9.1 Regress~
ao
25
26 CAPITULO 9. EXEMPLO PRATICO
professor (spt) volta a ser signicante e a renda continua ser signicante - e
ambos os coecientes tem os sinais esperados.
Sera que, uma vez controlando os gastos por aluno, as outras variaveis s~ao
irrelevantes? Isto e, sera que n~ao importa a renda dos pais nem a quantidade
de alunos por professor, mas apenas o gasto por aluno? Podemos testar esta
hipotese de maneira simples. Dena o modelo 3 como sendo a regress~ao de nota
de matematica sobre gastos por aluno (expenditure), e apenas essa variavel
explicativa. Para testar a nossa hipotese, basta usar o comando anova e com-
parar os modelos 2 e 3. Descobrimos que rejeitamos a hipotese nula de que os
coecientes associados a spt e renda s~ao zero.
Todos nos sabemos a lei dos grandes numeros. De maneira bastante informal,
um numero grande o bastante de observac~oes nos permite estimar corretamente
a media de uma distribuic~ao. Por exemplo, se jogarmos duas moedas para o alto
e calcular a probabilidade de dar cara, pode ser que a probabilidade sai 1 (duas
caras), 0 (duas coroas), ou meio (uma cara e uma coroa). Ninguem negaria que
so a ultima estimativa esta correta. Como podemos testar isso no R?
Precisaremos de fazer o seguinte: faca um numero n(alto, mais de 500) de
observac~oes de uma bernoulli. Assim, temos uma moeda: 1 e cara e 0 e coroa
(ou o contrario). Sabemos que E(x) = p, se x tem distribuica~o de Bernouli(p).
Logo, se tirarmos a media para cada etapa - ou seja, para cada lancamento
da moeda virtual do R - deveramos ter a probabilidade de obter um valor 1.
Fazendo isso no R:
v <- rbinom(500,1,p = 1/2)
zz <- c(v[1],rep(0,499))
for (i in 2:500){
zz[i] <- sum(v[1:i])/i
}
plot(zz)
lines(x = 1:500, y = rep(0.5,500),col = 2, lwd= 3)
Livros e Links
O site do cran permite voc^e baixar o R. Alem disso, e sempre uma boa
refer^encia para procurar pacotes e onde voc^e pode encontrar os task views:
https://cran.r-project.org/
O R Book do Michael Crawley e bastante util para aprender sobre o funci-
onamento do R em geral, apesar de ele n~ao usar nenhum pacote, o que faz com
que algumas soluc~oes dele para os problemas sejam extremamente inecientes e
trabalhosas - mas muito uteis para aprender como o R funciona.
O Applied Econometrics with R traz como fazer basicamente tudo que e
coberto no curso de Econometria I usando o R - regress~oes, estimadores robustos,
dados em painel e variaveis instrumentais.
Cada pacote tem uma documentac~ao, muitas vezes com exemplo, que pode
ser util para entender como usar os comandos do pacote. Esta documentac~ao
pode ser acessada no site do cran
29
30 CAPITULO 10. LIVROS E LINKS
Cap
tulo 11
Comandos importantes
remove(x)/rm(x):Remove x do R. x pode ser uma func~ao, vetor, da-
taframe. Para limpar tudo, use rm(list=ls()). Use com cuidado esse co-
mando!
attach(x):Faz os nomes de x serem diretamente acessveis ao R. x e um
dataframe
names(x):nomes das variaveis em um dataframe dataframe
lm(y x,...):Faz uma regress~ao linear. Y e a variavel dependente e
x s~ao as variaveis independentes. Aceita varias opc~oes, inclusive pesos,
dataframes. Ver sec~ao 5 e a propria documentac~ao do R.
plot(y,x,...):Faz o plot da varavel y no eixo y e x no eixo x. Pode n~ao se
especicar a variavel x. Nesse caso, o plot e valor da variavel no eixo y e
a posic~ao daquele valor no vetor no eixo x. Pode ser usado para multiplas
classes, logo plot com um objeto do tipo Serie temporal coloca no eixo x
as datas.
31