Esse tutorial é uma reprodução do tutorial original do (Zelig)[http://docs.zeligproject.org/articles/quickstart.html]. A seguir vamos instalar o pacote, existem duas formas. Tente a primeira, caso não dê certo, instale o pacote devtools e depois a versão do Zelig disponível no github.
#instalando pacote
install.packages('zeligverse')
#ou
install.packages("devtools")
devtools::install_github('IQSS/Zelig')
O próximo passo é carregar o pacote e os dados. Estes são sobre fertilidade e fatores socioeconômicos em 47 províncias francófonas na Suíça em 1888. Acesse o tutorial (original)[http://docs.zeligproject.org/articles/quickstart.html] para mais detalhes.
#carregando pacote
library(Zelig)
## Loading required package: survival
#carregando dados
data("swiss")
Antes de entrarmos no modelo de regressão, veremos as estatísticas descritivas de todas as variáveis do dataset.
summary(swiss)
## Fertility Agriculture Examination Education
## Min. :35.00 Min. : 1.20 Min. : 3.00 Min. : 1.00
## 1st Qu.:64.70 1st Qu.:35.90 1st Qu.:12.00 1st Qu.: 6.00
## Median :70.40 Median :54.10 Median :16.00 Median : 8.00
## Mean :70.14 Mean :50.66 Mean :16.49 Mean :10.98
## 3rd Qu.:78.45 3rd Qu.:67.65 3rd Qu.:22.00 3rd Qu.:12.00
## Max. :92.50 Max. :89.70 Max. :37.00 Max. :53.00
## Catholic Infant.Mortality
## Min. : 2.150 Min. :10.80
## 1st Qu.: 5.195 1st Qu.:18.15
## Median : 15.140 Median :20.00
## Mean : 41.144 Mean :19.94
## 3rd Qu.: 93.125 3rd Qu.:21.70
## Max. :100.000 Max. :26.60
Agora estimaremos o efeito da educação sobre fertilidade com a função zelig() do pacote, dentro da função especificaremos a fórmula, o modelo, no caso linear, least squares (“ls”), e o dataset. O argumento cite já está definido como cite = T, para obtermos informações sobre como citar o modelo. Cheque a documentação das funções do Zelig antes de rodá-las.
#checando a documentacao
help("zelig")
## starting httpd help server ... done
#estimando o modelo
modelo <- zelig(Fertility ~ Education, model = "ls", data = swiss)
## How to cite this model in Zelig:
## R Core Team. 2007.
## ls: Least Squares Regression for Continuous Dependent Variables
## in Christine Choirat, Christopher Gandrud, James Honaker, Kosuke Imai, Gary King, and Olivia Lau,
## "Zelig: Everyone's Statistical Software," http://zeligproject.org/
No summary do modelo temos as informações sobre os coeficientes e significância estatística como de praxe. E também nos alerta que o próximo passo seria usar o argumento setx para examinarmos qual seria o efeito de aumentar a porcentagem de educados de 5 para 10%.
summary(modelo)
## Model:
##
## Call:
## z5$zelig(formula = Fertility ~ Education, data = swiss)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.036 -6.711 -1.011 9.526 19.689
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 79.6101 2.1041 37.836 < 2e-16
## Education -0.8624 0.1448 -5.954 3.66e-07
##
## Residual standard error: 9.446 on 45 degrees of freedom
## Multiple R-squared: 0.4406, Adjusted R-squared: 0.4282
## F-statistic: 35.45 on 1 and 45 DF, p-value: 3.659e-07
##
## Next step: Use 'setx' method
Note que para definir o primeiro valor da educação usamos a função setx() e para a segunda a setx1().
# checando a documentacao das funcoes
help("setx")
help("setx1")
#definindo a educacao 5
modelo_2 <- setx(modelo, Education = 5)
#definindo a educacao como 10
modelo_2 <- setx1(modelo, Education = 15)
summary(modelo_2)
## setx:
## (Intercept) Education
## 1 1 15
## setx1:
## (Intercept) Education
## 1 1 15
##
## Next step: Use 'sim' method
Nosso próximo passo, como o summary() do modelo_2 indica é fazer as simulações.
#checando a documentacao
help("sim")
#realizando as simulacoes
modelo_2 <- sim(modelo_2)
summary(modelo_2)
##
## sim x :
## -----
## ev
## mean sd 50% 2.5% 97.5%
## 1 66.65673 1.536243 66.68083 63.77527 69.61714
## pv
## mean sd 50% 2.5% 97.5%
## [1,] 66.7999 9.622176 66.54632 48.89555 86.00579
## fd
## mean sd 50% 2.5% 97.5%
## 1 0 0 0 0 0
##
## sim x1 :
## -----
## ev
## mean sd 50% 2.5% 97.5%
## 1 66.65673 1.536243 66.68083 63.77527 69.61714
## pv
## mean sd 50% 2.5% 97.5%
## [1,] 66.7999 9.622176 66.54632 48.89555 86.00579
## fd
## mean sd 50% 2.5% 97.5%
## 1 0 0 0 0 0
Agora plotaremos nossas simulações:
#checando documentacao
help("plot")
#plotando o grafico
plot(modelo_2)
Podemos definir um intervalo com a função setx() e plotar depois os dados simulados.
#definindo o modelo
modelo_3 <- zelig(Fertility ~ Education, model = "ls", data = swiss)
## How to cite this model in Zelig:
## R Core Team. 2007.
## ls: Least Squares Regression for Continuous Dependent Variables
## in Christine Choirat, Christopher Gandrud, James Honaker, Kosuke Imai, Gary King, and Olivia Lau,
## "Zelig: Everyone's Statistical Software," http://zeligproject.org/
# definindo educacao entre 5 e 15
modelo_3 <- setx(modelo_3, Education = 5:15)
# rodando as simulacoes
modelo_3 <- sim(modelo_3)
# plotando o grafico
plot(modelo_3)
Acesse o tutorial original e o site oficial do pacote Zelig Project.
Fonte: http://docs.zeligproject.org/articles/quickstart.html