Você está na página 1de 28

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/331940763

Manual de Econometria com R

Technical Report · March 2019

CITATION READS
1 702

1 author:

Alexandre Loures
Universidade Federal de Pelotas
23 PUBLICATIONS   5 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Mercosur and the Spillover Effect on Trade Creation View project

Free Trade Between Mercosur and the European Union: a Computable General Equilibrium Approach View project

All content following this page was uploaded by Alexandre Loures on 24 March 2019.

The user has requested enhancement of the downloaded file.


Manual de Econometria com R
Universidade Federal de Pelotas - UFPel
Alexandre Loures
2019-03-24
2
Sumário

1 Apresentação 5

2 Funções Básicas no R 7
2.1 Usando o R como uma Calculatora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Estatísticas Básicas 11
3.1 Medidas de Posição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Regressão Linear Simples 17

5 Reference 25

3
4 SUMÁRIO
Capítulo 1

Apresentação

Atualmente os alunos de econometria possuem à disposição diversos pacotes estatísticos e econométricos


para colocarem em prática o aprendizado adquirido nas aulas de estatística e econometria. Esses pacotes
se dividem entre aqueles que são softwares pagos, proprietários, e aqueles que são gratuitos, livres. Como
exemplo de pacotes pagos destaca-se o STATA e o SAS, por sua vez, R e Python caracterizam-se como sendo
pacotes gratuitos. Sendo que aquele é considerado um software estatístico – com grande popularidade –
enquanto esse é considerado um software econométrico – cuja utilização tem crescido bastante. Os pacotes
gratuitos apresentam-se como uma alternativa bastante útil aos pagos: primeiramente, em virutde desses
geralmente possuírem um alto custo e, mais importante, os softwares livres ao possuírem desenvolvedores ao
redor do mundo inteiro têm se atualizado com as novas teorias estatísiticas e econométricas mais rapidamente
do que os pacotes pagos. Além disso, existe uma comunidade muito maior na internet o que possibilita a troca
de experiências e ajuda muito mais fácil do que os softwares pagos. Neste manual o foco será na utilização do
pacote R. Aos interessados na linguagme Python recomenda-se o manual Econometria Aplicada com o uso do
Python disponível no seguinte link. O software estatístico R possui diversas interfaces gráficas cujo objetivo
é tornar o uso do pacote o mais amigável possível para usários iniciantes bem como avançados. Destaca-se
que a IDE (Integrated Development Environment) mais popular para trabalhar com o R é o RStudio. Nesse
caso, este manual utilizará essa IDE para apresentar os pacotes e os comandos para a aplicação da teoria
estatística e econométrica. Abaixo apresenta a interface gráfica do RStudio que o usuário irá ver ao abrir o
pacote.
Como uma primeira observação, o RStudio, por padrão, apresenta todas as quatro janelas com o fundo
branco, porém, é possível configurar o layout de acordo com a preferência de cada um dos usuários, dentro
daqueles disponibilizados na opção Tools>Global Options...>Appearence. Ademais, a janela número um
apresenta o script, ou seja, os objetos, os pacotes, as operações, as observações, etc. que estão sendo
executadas naquele momento. Na linguagem de programação se diz que a janela um apresenta o código
de programação. Na janela dois, tem-se, na aba Environment, os objetos gerados no código. Já a terceira
janela apresenta o console onde é possível executar os comandos diretamente, isto é, não através do script.
Por fim, a quarta janela, entre outras opções, será o espaço onde os gráficos do script em execução serão
exebidos. Como última observação, destaca-se a existência de diversos editores de textos que possibilitando
diferenciar os códigos da programação em cores facilitando em muito o trabalho para escrever a rotina bem
como identificar possíveis erros no código. Não resta dúvidas de que o mais poderoso é o Emacs, contudo,
esse editor é muito difícil de usar. Nesse sentido, o Sublime Text é uma ótima opção uma vez que é muito
simples de usar e é o que apresenta o melhor visual, a estrutura de cores do código é bastante poderosa.

5
6 CAPÍTULO 1. APRESENTAÇÃO

Figura 1.1: Aparência do RStudio


Capítulo 2

Funções Básicas no R

2.1 Usando o R como uma Calculatora

2.1.1 Operações Matemáticas Básicas com R

Pode-se usar a linha de comando do R para realizar as quatro operações matemática básicas e outras
operações simples.
## Realizando uma soma

2 + 2

## [1] 4
## Realizando uma subtração

15 - 3

## [1] 12
## Realizando uma multiplicação

2 * 8

## [1] 16
## Realizando uma divisão

35/7

## [1] 5
## Extraindo a raiz quadrado

sqrt (16)

## [1] 4

2.1.2 Operações mais Complexas com o R

Também é possível realizar operações mais complexas com o R.

7
8 CAPÍTULO 2. FUNÇÕES BÁSICAS NO R

## Calculando o logaritmo neperiano de 8

log(8)

## [1] 2.079442
## Calculando o logaritmo na base 10 de 8

log(8, 10)

## [1] 0.90309
## Calculando o logaritmo na base 5 de 8

log(8, 5)

## [1] 1.29203
## Calculando a tangente de 9

tan(9)

## [1] -0.4523157

2.1.3 Usando Objetos para Realizar Operações com o R

Outra recurso do R é poder atribuir qualquer valor a um objeto e usá-lo para realizar operações simples e
complexas.
## Igualando a divisão de 200 por 10 à 'q'

q <- 200/10

## Obtendo o resultado da divisão anterior

## [1] 20
## Multiplicando o objeto 'q' por 2

q * 2

## [1] 40
## Obtendo o seno do objeto 'q'

sin(q)

## [1] 0.9129453
## Adicionando 30 ao objeto 'q'

q + 30

## [1] 50
2.1. USANDO O R COMO UMA CALCULATORA 9

## Subtraindo o objeto 'q' de 100

100 - q

## [1] 80

2.1.4 Outros Exemplos de Operações

## Obtendo o valor de 'Pi'

pi

## [1] 3.141593
## Obtendo o valor de 'e'

exp(1)

## [1] 2.718282
## Potência com R

x <- 2

x ^ 3

## [1] 8
## Outra Forma de Obter a Potência com R

y <- 2

y ** 3

## [1] 8
10 CAPÍTULO 2. FUNÇÕES BÁSICAS NO R
Capítulo 3

Estatísticas Básicas

3.1 Medidas de Posição

3.1.1 Média

Média Aritmética Simples


A média aritmética simples é igual ao somatório dos valores de uma série dividido pelo número total de
elementos da série. Essa é a média mais comum usada no dia a dia. A representação matemática é da
seguinte forma:

∑n
i=1 xi
x̄ = (3.1)
n

where:
xi → representa cada elemento da série e;
n → representa o número total de elementos da série.
Para calcular a média aritmética simples no R, a seguinte sintaxe é usada:
## Exemplo:

## criando uma série qualquer de dados

x <- c(15, 40, 10, 25, 26, 33)

## sintaxe para calcular a média aritmética simples

mean (x)

## [1] 24.83333
Média Geométrica
A média geométrica é a média das médias e é igual à nth raiz quadrado do produto (multiplicação) entre os
elementos de uma série cuja representação matemática é como a seguir:


ḡ = n
x1 ∗ x2 ∗ · · · ∗ xn (3.2)

11
12 CAPÍTULO 3. ESTATÍSTICAS BÁSICAS

ou

1
ḡ = (x1 ∗ x2 ∗ · · · ∗ xn ) n (3.3)

em que:
xi → representa cada elemento da série e;
n → representa o número total de elementos da série.
Existem alguns pacotes no R que possuem uma sintaxe para calcular a média geométrica, contudo, pode-se
lembrar da fórmula dessa média e calculá-la diretamente sem usar um comando específico para esse cálculo.
## Exemplo:

## criando uma série de dados qualquer

x <- c(15, 40, 10, 25, 26, 33)

## realizando o produto interno dos elementos 'x'

prod (x)

## [1] 128700000
## número dos elementos da série

n <- 6

## calculando a média geométrica

prod (x) ^ (1/n)

## [1] 22.46966
Média Harmônica
Quando se trata de quantidades inversamente proporcionais (por exemplo, custo e quantidade), a média
harmônica é usada. Ou seja, a média harmônica é usada para calcular o custo médio das mercadorias
compradas com um valor monetário fixo, a velocidade média, etc.. Como o custo médio é igual à C = Pq
e a velocidade média é igual à V = dt , i.e., custo é inversamente propocional à quantidade e velocidade é
inversamente ao tempo. A fórmula da média harmônica é:

n
h̄ = (3.4)
1
x1 + 1
x2 + ··· + 1
xn

where:
xi → representa cada elemento da série e;
n → representa o número total de elementos da série.
Assim como para a média aritmética simples e para a média geométrica existem alguns pacotes no R que
possui uma sintaxe para calcular a média harmônica, contudo, não há necessidade de instalá-los para realizar
esse cálculo, basta entender a fórmula e aplicá-la manualmente no R.
## Exemplo:

## criando uma série de dados qualquer


3.1. MEDIDAS DE POSIÇÃO 13

x <- c(15, 40, 10, 25, 26, 33)

## dividindo 1 (um) por cada elemento do objeto 'x'

a <- 1/x

## somando os elementos do objeto 'a'

b <- sum (a)

## número de elementos da série

n <- 6

## calculando a média harmônica

n / b

## [1] 19.97129

3.1.2 Mediana

A mediana de qualquer série de dados separa a metade inferior da metade superior. Isto é, 50% da série
terão valores menores ou iguais à mediana e os outros 50% da série terão valores maiores ou iguais à
mediana. Existem duas observações que precisam serem feitas. Primeiro, os dados devem ser organizados
ordenadamente (pode estar na ordem crescente ou decrescente), i.e., não se deve trabalhar com dados brutos,
i.e., sem ordenação. Por exemplo, uma série de dados bruto {7, 9, 1, 5, 3} precisa ser ordenada {1, 3, 5, 7, 9} or
{9, 7, 5, 3, 1}. Segundo, deve-se verificar a fórmula para cada uma das situações que serão descritas a seguir.
Como última observações, a fórmula aplicada no cálculo da mediana não reporta o valor da mediana, mas
ao invés, a posição na qual o valor mediano encontra-se. Assim, encontrada a essa posição retorna-se a série
de dados para localizar a mediana.
1. se o número de termos da série em questão for ímpar, a mediana é o termo de ordem dado pela seguinte
fórmula: PMd = n+12 .

2. se o número de termos da série em questão for par, a mediana é a média aritmética simples dos termos
de ordem dados pelas fórmulas: PMd = n2 and PMd = n2 + 1.
em que:
PMd → é a posição do valor mediano na série e;
n → é o número de elementos na série.
Exemplo 2.1: Qual é a mediana da série 1, 3, 5, 7, 9?1 Uma vez que o número de termos da série é ímpar,
usa-se somente a fórmula PMd = n+1
2 . Então,

5+1 6
PMd = = =3
2 2
Portanto, o valor mediano está na 3 posição, i.e., a mediana é Md = 5.
Exemplo 2.2: Qual é a mediana da série 1, 3, 5, 7, 9, 10?2 Agora o número de termos na série é par, então
aplica-se duas fórmulas: PMd = n2 and PMd = n2 + 1. Portanto,
1 Note que a série já está ordenada, i.e., não são dados bruto.
2 Note que a série já está ordenada, i.e., não são dados bruto.
14 CAPÍTULO 3. ESTATÍSTICAS BÁSICAS

6
PMd = =3
2
e

6
PMd = +1=3+1=4
2

Assim, o valor mediano será a média aritmética simples dos valores que estão na 3 e 4 posições e que são,
respectivamente, 5 e 7.

5+7 12
x̄ = = =6
2 2

Assim, a mediana é igual a Md = 6.


Contudo, no R, os valores reportados pela sintaxe da mediana são os valores da mediana da série de dados.
## Exemplo:

## criando uma série de dados qualquer

a <- c(1, 3, 5, 7, 9)

## calculando a mediana da série

median (a)

## [1] 5
Para a outra série tem-se:
## Exemplo:

## criando uma série de dados qualquer

b <- c(1, 3, 5, 7, 9, 10)

## calculando a mediana da série

median (b)

## [1] 6

3.1.3 Moda

Moda é o valor da série que mais ocorre, i.e., com maior frequência. No entanto, em uma série pode ser que
não exista um termo repetitivo e, portanto, essa série é denominada amodal. Por sua vez, se dois elementos
ocorrem com mais frequência, a série é chamada bimodal e, nos casos em que há mais de dois elementos se
repetindo, a repetição de uma série é multimodal ou polimodal.
No R existem duas formas para calcular a moda. Se a série for pequena, facilitando a identificação visual da
moda, usa-se a sintaxe table (series name) que reportará os elementos da série e, abaixo deles, mostrará
com que frequência cada um deles ocorre. Mas para casos em que a série é muito grande, o que tornará
difícil a visualização, a sintaxe subset (table (series names), table (series name) == max (table
(series name))) é utilizada e reportará o elemento modal e abaixo dele a frequência com que ocorre.
3.1. MEDIDAS DE POSIÇÃO 15

## Exemplo:

## criando uma série de dados qualquer

w <- c(1, 2, 3, 4, 4, 4, 5, 6, 7)

## visualmente encontrando a moda da série

table (w)

## w
## 1 2 3 4 5 6 7
## 1 1 1 3 1 1 1
Ou pode-se usar uma função que reportará o valor da moda, i.e., reportará o valor modal e não a frequência
para cada um dos elementos da série.
## Example:

## creating any data series

z <- c(1, 2, 3, 4, 4, 4, 5, 6, 7)

## finding the mode of the series

subset (table (z), table (z) == max (table (z)))

## 4
## 3
16 CAPÍTULO 3. ESTATÍSTICAS BÁSICAS
Capítulo 4

Regressão Linear Simples

Análise linear simples estuda a relação linear entre duas variáveis quantitativas. Sendo uma denominada de
variável dependente e a outra de variável indenpendente. Essa análise é realizada a partir de dois pontos de
vista diferentes:
1. regressão → que expressa a forma da relação linear entre as duas variáveis e;
2. correlação → que quantifica a força desse relacionamento.
Essa relação é representada por um modelo matemático, i.e., por uma equação que associará a variável
explicada à variável explicativa. A representação matemática dessa associação é a seguinte:

y = β0 + β 1 x + µ (4.1)

em que:
y → é a variável explicada ou dependente que será calculada e, portanto, é aleatória;
β0 e β1 → são os parâmetros desconhecidos do modelo que serão calculados. Quando se está trabalhando
com a população diz-se que essas são as estimativas, no entanto, se está trabalhando com uma amostra diz-se
que essas são os estimadores dos verdadeiros valores.
x → é a variável explicativa ou independente medida sem erro, i.e., sem aleatoriedade e;
µ → é a variável aleatória residual na qual as outras variáveis que influenciam o comportamento da variável
dependente y, e que não foram incluídas no modelo matemático, são encontradas x. Ou seja, são influências
na variável explicada y que não podem ser explicadas linearmente pelo comportamento da variável explicativa.
Exemplo 3.1: A Tabela I.1 do livro Econometria Básica, tradução da 5 edição, de Gujarati and Porter
(2011, p. 30) será usada nesse exemplo.
## Exemplo:

## criando um data.frame com os dados da Tabela I.1

pers_con <- data.frame(


year = c(1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969,
1970, 1971, 1972, 1973, 1974, 1975, 1975, 1977, 1978, 1979,
1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989,
1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005),
ecp = c(1597.4, 1630.3, 1711.1, 1781.6, 1888.4, 2007.7, 2121.8, 2185.0,
2310.5, 2396.4, 2451.9, 2545.5, 2701.3, 2833.8, 2812.3, 2876.9,

17
18 CAPÍTULO 4. REGRESSÃO LINEAR SIMPLES

3035.5, 3164.1, 3303.1, 3383.4, 3374.1, 3422.2, 3470.3, 3668.6,


3863.3, 4064.0, 4228.9, 4369.8, 4546.9, 4675.0, 4770.3, 4778.4,
4934.8, 5099.8, 5290.7, 5433.5, 5619.4, 5831.8, 6125.8, 6438.6,
6739.4, 6910.4, 7099.3, 7259.3, 7577.1, 7841.2),
gdp = c(2501.8, 2560.0, 2715.2, 2834.0, 2998.6, 3191.1, 3399.1, 3484.6,
3652.7, 3765.4, 3771.9, 3898.6, 4105.0, 4341.5, 4319.6, 4311.2,
4540.9, 4750.5, 5015.0, 5173.4, 5161.7, 5291.7, 5189.3, 5423.8,
5813.6, 6053.7, 6263.6, 6475.1, 6742.7, 6981.4, 7112.5, 7100.5,
7336.6, 7532.7, 7835.5, 8031.7, 8328.9, 8703.5, 9066.9, 9470.3,
9817.0, 9890.7, 10048.8, 10301.0, 10703.5, 11048.6)
)

## chamando o data.frame criado

pers_con

## year ecp gdp


## 1 1960 1597.4 2501.8
## 2 1961 1630.3 2560.0
## 3 1962 1711.1 2715.2
## 4 1963 1781.6 2834.0
## 5 1964 1888.4 2998.6
## 6 1965 2007.7 3191.1
## 7 1966 2121.8 3399.1
## 8 1967 2185.0 3484.6
## 9 1968 2310.5 3652.7
## 10 1969 2396.4 3765.4
## 11 1970 2451.9 3771.9
## 12 1971 2545.5 3898.6
## 13 1972 2701.3 4105.0
## 14 1973 2833.8 4341.5
## 15 1974 2812.3 4319.6
## 16 1975 2876.9 4311.2
## 17 1975 3035.5 4540.9
## 18 1977 3164.1 4750.5
## 19 1978 3303.1 5015.0
## 20 1979 3383.4 5173.4
## 21 1980 3374.1 5161.7
## 22 1981 3422.2 5291.7
## 23 1982 3470.3 5189.3
## 24 1983 3668.6 5423.8
## 25 1984 3863.3 5813.6
## 26 1985 4064.0 6053.7
## 27 1986 4228.9 6263.6
## 28 1987 4369.8 6475.1
## 29 1988 4546.9 6742.7
## 30 1989 4675.0 6981.4
## 31 1990 4770.3 7112.5
## 32 1991 4778.4 7100.5
## 33 1992 4934.8 7336.6
## 34 1993 5099.8 7532.7
## 35 1994 5290.7 7835.5
## 36 1995 5433.5 8031.7
## 37 1996 5619.4 8328.9
19

## 38 1997 5831.8 8703.5


## 39 1998 6125.8 9066.9
## 40 1999 6438.6 9470.3
## 41 2000 6739.4 9817.0
## 42 2001 6910.4 9890.7
## 43 2002 7099.3 10048.8
## 44 2003 7259.3 10301.0
## 45 2004 7577.1 10703.5
## 46 2005 7841.2 11048.6
## obtendo as estatísticas descritivas dos dados

summary (pers_con)

## year ecp gdp


## Min. :1960 Min. :1597 Min. : 2502
## 1st Qu.:1971 1st Qu.:2584 1st Qu.: 3950
## Median :1982 Median :3569 Median : 5358
## Mean :1982 Mean :4047 Mean : 6023
## 3rd Qu.:1994 3rd Qu.:5243 3rd Qu.: 7760
## Max. :2005 Max. :7841 Max. :11049

Todavia, no dia a dia os pesquisadores já possuem uma base em uma extensão qualquer, por exemplo .csv,
e, então, precisam importar esses dados para o R. Para qualquer extensão o procedimento mais prático é
utilizar o processo choose.files() que irá permitir ao usuário escolher o diretório em que se encontra a
base. Por exemplo, para a extensão .csv o comando para importar uma base é da seguinte forma:
## importando uma base extensão `.csv' no R no padrão norte americano

pers_con <- read.csv(choose.files())

Importante destacar que o comando read.csv funciona para bases .csv no padrão norte americano, i.e., as
colunas são separadas por vírgula e a casa decimal é representada por ponto. Contudo, se a base .csv estiver
no padrão brasileiro: colunas separadas por ponto e vírgula e a casa decimal é representada por vírgula o
comando para importar tal base seria:
## importando uma base extensão `.csv' no R no padrão brasileiro

pers_con <- read.csv2(choose.files())

Destaca-se que o comando summary reporta apenas algumas poucas estatísticas e, dessa forma, para realizar
uma análise mais completa sobre as variáveis em estudo pode-se empregar o comando describe do pacote
psych. Esse comando irá apresentar ao todo 11 estatísticas. A seguir apresenta-se cada uma delas:

mean → representa a média aritmética da série;

sd → representa o desvio padrão;

median → representa a mediana da série;

trimmed → representa a média trimmed (trimmed mean) ou média truncada;

mad → representa o desvio absoluto mediano (da mediana);

min → representa o valor mínimo;

max → representa o valor máximo;

range → representa o intervalo entre o valor mínimo e o valor máximo;


20 CAPÍTULO 4. REGRESSÃO LINEAR SIMPLES

skew → representa a assimetria da série. Um valor igual a zero indica que a série é perfeitamente simétrica.
Por sua vez, quanto mais distante de zero, mais assimétrica será a série;
kurtosis → representa o achatamento dos dados da série em relação à curva da distribuição normal (ou de
Gauss). Para uma série normal esse valor é igual a 0. Séries com esse valor são denominadas de mesocúr-
tica. Para valores maiores (> 0), então a série em questão é mais alta (afunilada) e concentrada do que
a distribuição normal. Diz-se que essa série é leptocúrtica. Já para valores menores (< 0) a série é mais
achatada do que a distribuição normal. Diz-se que essa série é platicúrtica. e;
se → representa o erro-padrão da série.
Para exemplificar o comando describe do pacote psych a seguir utiliza-se a variável gdp do data.frame
pers_con e, a partir das estatísticas descritivas reportadas pode-se identificar se a variável gdp possui uma
distribuição normal.
## chamando o pacote `psych'

library(psych)

## obtendo as estatísticas descritivas para a variável `gdp' do data.frame `pers_con'

describe(pers_con$gdp)

## vars n mean sd median trimmed mad min max range


## X1 1 46 6022.94 2479.29 5357.75 5903.75 2592.7 2501.8 11048.6 8546.8
## skew kurtosis se
## X1 0.42 -1.04 365.55
Para confirmar se a série possui uma distribuição normal ou não aplica-se o teste Jarque-Bera para norma-
lidade cujo o procedimento se dá através da comparação do valor da kurtosis e skewness. Para realizar esse
teste utiliza-se o comando jarque.bera.test do pacote tseries.
## chamando o pacote `tseries'

library(tseries)

## teste Jarque-Bera para normalidade da variável `gdp' do data.frame `pers_con'

jarque.bera.test(pers_con$gdp)

##
## Jarque Bera Test
##
## data: pers_con$gdp
## X-squared = 3.1944, df = 2, p-value = 0.2025
De posse do resultado do teste Jarque-Bera para normalidade não se rejeita a hipótese de normalidade se
o valor p-value for maior do que o nível de significância escolhido. Para o exemplo, nota-se que para os
níveis de significância padrão (1%, 5% e 10%) não se rejeita a hipótese de normalidade, i.e., a variável gdp
possui uma distribuição aproximadamente normal uma vez que o p-value é maior do que aqueles níveis de
significância.
Outro teste para normalidade seria o Shapiro test cuja hipótese nula é: a série em questão é normalmente
distribuída.
## realizando o teste Shapiro para normalidade

shapiro.test(pers_con$gdp)
21

##
## Shapiro-Wilk normality test
##
## data: pers_con$gdp
## W = 0.94175, p-value = 0.02276
O resultado desse teste ratifica o resultado do teste Jarque-Bera nos níveis de significância (5% e 10%), i.e.,
a série gdp possui uma distribuição aproximadamente normal uma vez que a esses níveis não se rejeita a
hipótese nula de uma série normalmente distribuída.
Também pode-se “plotar” um histograma da série para uma análise visual para normalidade. A seguir,
plota-se o histograma para a série gdp do data.frame pers_con e adicionam-se a curva normal (linha azul) e
a curva para a série em questão, gdp (linha vermelha). Note que a linha em vermelha se aproxima de uma
distribuição normal.
## plotando o histograma para a série `gdp' do data.frame `pers_con'

hist(pers_con$gdp, main = "Histograma para a série GDP", xlim = c(0, 14000),


ylim = c(0.00000, 0.00020), xlab = "GDP", col = "gray", probability = TRUE)

## adicionando a curva para análise visual de normalidade

curve(dnorm(x, mean = mean(pers_con$gdp), sd = sd(pers_con$gdp)), col = "darkblue",


lwd = 2, add = TRUE)

lines(density(pers_con$gdp), col = "red", lwd = 2)

Histograma para a série GDP


0.00020
0.00010
Density

0.00000

0 2000 4000 6000 8000 10000 12000 14000

GDP

Os valores da análise de correlação estarão sempre entre +1 e −1 e indicam a relação entre duas variáveis
22 CAPÍTULO 4. REGRESSÃO LINEAR SIMPLES

lineares. Em que a magnitude da vairável indica a força da correlação e o sinal indica a direção da relação,
se a correlação é positiva ou negativa, i.e., se as variáveis são diretamente proporcionais ou inversamente
proporcionais, respectivamente.
## calculando a correlação entre as variáveis do data.frame

cor (pers_con, use = 'complete.obs', method = 'kendall')

## year ecp gdp


## year 1.0000000 0.9956502 0.9879170
## ecp 0.9956502 1.0000000 0.9922705
## gdp 0.9879170 0.9922705 1.0000000

A estatística covariância é uma medida do grau de interdependência numérica entre duas variáveis. Assim,
se duas variáveis são independentes umas das outras espera-se que elas tenham covariância igual a zero. Por
sua vez, um sinal positivo indica uma relação linear positiva enquanto um sinal negativo sinaliza uma relação
linear negativa.
## calculando a covariância entre as variáveis do data.frame

cov (pers_con$ecp, pers_con$gdp)

## [1] 4433597
## estimando a regressão linear simples entre 'epc' and 'gdp'

reg <- lm (pers_con$ecp ~ pers_con$gdp)

## obtendo o resultado da regressão linear simples entre 'epc' and 'gdp'

summary (reg)

##
## Call:
## lm(formula = pers_con$ecp ~ pers_con$gdp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -148.819 -49.780 -5.844 36.780 169.113
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.970e+02 2.814e+01 -10.56 1.23e-13 ***
## pers_con$gdp 7.213e-01 4.327e-03 166.70 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 71.96 on 44 degrees of freedom
## Multiple R-squared: 0.9984, Adjusted R-squared: 0.9984
## F-statistic: 2.779e+04 on 1 and 44 DF, p-value: < 2.2e-16
## plotando o gráfico para a regressão linear simples entre 'ecp' and 'gdp'

plot (pers_con$gdp, pers_con$ecp)


23

8000
6000
pers_con$ecp

4000
2000

4000 6000 8000 10000

pers_con$gdp

## adicionando a linha da regressão linear simples estimada entre 'ecp' and 'gdp'
## e renomeando os eixos 'x' and 'y'

plot (pers_con$gdp, pers_con$ecp, xlab = 'gdp', ylab = 'ecp')


abline (lm (pers_con$ecp ~ pers_con$gdp), col = 'red', lwd = 2)
24 CAPÍTULO 4. REGRESSÃO LINEAR SIMPLES

8000
6000
ecp

4000
2000

4000 6000 8000 10000

gdp

Para testar se a forma funcional está correta pode-se usar o teste RESET proposto por Ramsey (1969) e que
está disponível no pacote lmtest.
library (lmtest)
resettest (pers_con$ecp ~ pers_con$gdp, power = 2, type = 'regressor')

##
## RESET test
##
## data: pers_con$ecp ~ pers_con$gdp
## RESET = 28.579, df1 = 1, df2 = 43, p-value = 3.238e-06
Para obter os resíduos e os valores ajustados pode-se usar os seguintes comandos, respectivamente,
resid <- resid (reg)

fitted <- fitted (reg)

Para testar a presença de heterocedasticidade nos dados aplica-se o teste Breusch-Pagan proposto por
Breusch and Pagan (1979) contra a heterocedasticidade disponível no pacote lmtest.
bptest (pers_con$ecp ~ pers_con$gdp)

##
## studentized Breusch-Pagan test
##
## data: pers_con$ecp ~ pers_con$gdp
## BP = 20.183, df = 1, p-value = 7.037e-06
Capítulo 5

Reference

25
26 CAPÍTULO 5. REFERENCE
Referências Bibliográficas

Breusch, T. S. and Pagan, A. R. (1979). A simple test for heteroscedasticity and random coefficient variation.
Econometrica: Journal of the Econometric Society, pages 1287–1294.
Gujarati, D. N. and Porter, D. C. (2011). Econometria Básica. Editora Campus, Rio de Janeiro: Elsevier,
5 edition.
Ramsey, J. B. (1969). Tests for specification errors in classical linear least-squares regression analysis. Journal
of the Royal Statistical Society. Series B (Methodological), pages 350–371.

27

View publication stats