Modelos Lineares
Nesse exercício vamos usar dados sobre a população do Brasil com a intenção de ajustá-los a um modelo de crescimento populacional.
Você irá precisar de dois arquivos para fazer o exercício, ambos com formato texto básico (ASCII). O primeiro roteiro_pratica1.r refere-se ao script do R e o seguinte aos dados da população brasileira de 1950 a 2010, denominado pop_brasil.txt. O segundo pode abrir diretamente no seu navegador, nesse caso para salva-lo em um arquivo clique com o botão direito no linque.
Abaixo apresentamos o roteiro do script do arquivo acima.
Introdução aos modelos na ecologia populacional
Agora só código em linha de comandos
#Veja quais arquivos estão na pasta
dir()
#Leia a tabela sobre dinâmica populacional do Brasi
brasil<-read.table("Pop_brasil.txt", header=T)
# Confira a tabela
brasil
# Cheque a estrutura da tabela
str(brasil)
# Torne a tabela ativa no R
attach(brasil)
# Plote o tamanho da população nos diferentes anos
plot(pop ~ ano, ylab = "Tamanho da população (x 1000)", xlab = "Ano")
# Ajuste uma regressão linear aos dados
lm.br <- lm(log(pop) ~ ano)
# Sumarize os resultados
summary(lm.br)
# Calcule o intervalo de confiança
confint(lm.br)
# Plote os resultados os dados e a linha de regressão
plot(log(pop) ~ ano)
abline(lm.br, col = "red")
# Plote num diagrama os erros residuais do modelo linear
plot(residuals(lm.br))
abline(h=0)
# Carregue a extensão "stats"
require(stats)
# Ajuste um modelo linear generalizado (GLM) aos dados
glm.br=glm(pop ~ ano, family = poisson)
# Sumarize os resultados
summary(glm.br)
# Calcule o intervalo de confiança do modelo GLM
confint(glm.br)
# Plote a linha do modelo GLM
abline(glm.br, col = "blue")
# Plote os erros residuais
plot(residuals(lm.br))
abline(h=0)
# Ajuste um modelo aditivo generalizado (GAM)
# primeiro instalar o pacote **gam**
library(gam)
gam.br <-gam(pop ~ ano, family=poisson)
summary(gam.br)
plot(gam.br)
# Contrua a matriz de desenho do modelo linear
model.matrix(lm.br)
# Construa um modelo saturado para os dados
lmsat ->lm(log(pop) ~ as.factor(ano))
summary(lmsat)
model.matrix(lmsat)