Skip to content

Commit

Permalink
Subfolders added
Browse files Browse the repository at this point in the history
  • Loading branch information
marmello77 committed May 3, 2022
1 parent f8e2046 commit 56d9b61
Show file tree
Hide file tree
Showing 22 changed files with 152 additions and 50 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
PC5 Forrageio/.DS_Store
PC5 Forrageio/.Rhistory
.DS_Store
.Rhistory
53 changes: 41 additions & 12 deletions PC2 Reproducao/caranguejos.R
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
# Profs. Jose Carlos Motta Jr. & Marco A. R. Mello
# Prática de Computador II
# Tema: Reproducao
# Agradecimentos: Alexandre Palaoro, primeiro autor do artigo, cedou-nos os
# dados usados nesta prática
# Artigo de base: http://dx.doi.org/10.1016/j.anbehav.2014.06.014
# Agradecimentos: Alexandre Palaoro, primeiro autor do artigo de base, cedou-nos
# os dados usados nesta prática.
################################################################################


Expand Down Expand Up @@ -47,11 +47,11 @@ plot(dados$status2~dados$ap)

# Plote a relação entre o status e o comprimento cefalotorácico, depois exporte
# o gráfico como um arquivo PNG
png(filename= "p1.png", res= 300, height= 3000, width= 3000)
png(filename= "figuras/p1.png", res= 300, height= 2000, width= 3000)
p1 = ggplot(dados, aes(x=cc, y=status2)) +
geom_point(colour = "#1855FA", size=4, alpha = 0.5) +
stat_smooth(method="glm", method.args=list(family="binomial"), se=FALSE) +
labs(x="Comprimento cefalotoracico", y = "Status") +
labs(x="Comprimento cefalotorácico", y = "Status") +
theme(text = element_text(size=20),
plot.title = element_text(size=40, hjust=0.5),
axis.text.x = element_text(size = 20, angle=0, hjust=1),
Expand All @@ -67,7 +67,7 @@ fit1 = glm(dados$status2~dados$cc, family=binomial)
summary(fit1)
res1 = anova(fit1, test="Chisq")
res1
capture.output(res1, file = "resultados-cc.txt")
capture.output(res1, file = "resultados/resultados-cc.txt")

# Você tambem pode plotar o gráfico usando apenas o pacote base, com base nos
# resultados do teste que acabou de fazer
Expand All @@ -84,7 +84,7 @@ curve (exp(fit1$coefficients[[1]]+fit1$coefficients[[2]]*x)/

# Plote a relação entre o status e a altura do própodo, depois exporte o gráfico
# como um arquivo PNG
png(filename= "p2.png", res= 300, height= 3000, width= 3000)
png(filename= "figuras/p2.png", res= 300, height= 2000, width= 3000)
p2 = ggplot(dados, aes(x=ap, y=status2)) +
geom_point(colour = "#1855FA", size=4, alpha = 0.5) +
stat_smooth(method="glm", method.args=list(family="binomial"), se=FALSE) +
Expand All @@ -104,7 +104,7 @@ fit2 = glm(dados$status2~dados$ap, family=binomial)
summary(fit2)
res2 = anova(fit2, test="Chisq")
res2
capture.output(res2, file = "resultados-ap.txt")
capture.output(res2, file = "resultados/resultados-ap.txt")

# Você tambem pode plotar o gráfico usando apenas o pacote base, com base nos
# resultados do teste que acabou de fazer
Expand All @@ -125,7 +125,7 @@ fit3 = glm(dados$status2~dados$ap+dados$cc, family=binomial)
summary(fit3)
res3 = anova(fit3, test="Chisq")
res3
capture.output(res3, file = "resultados-ap-cc.txt")
capture.output(res3, file = "resultados/resultados-ap-cc.txt")


############################## TESTE 4 #########################################
Expand All @@ -138,7 +138,7 @@ fit4 = glmer(status2 ~ ap + cc + (1|dupla), family=binomial, data=dados)
summary(fit4)
res4 = anova(fit4, test="Chisq")
res4
capture.output(res4, file = "resultados-ap-cc-dupla.txt")
capture.output(res4, file = "resultados/resultados-ap-cc-dupla.txt")
isSingular(fit4, tol = 1e-05)


Expand All @@ -152,7 +152,7 @@ summary(fit5)
fit5.res = resid(fit5)

#Plote a relação entre os fatores, depois exporte o gráfico como um arquivo PNG
png(filename= "p5.png", res= 300, height= 3000, width= 3000)
png(filename= "figuras/p5.png", res= 300, height= 3000, width= 3000)
p5 = ggplot(dados, aes(x=cc, y=ap), CI = F) +
geom_smooth(method=lm, colour = "#1855FA") +
geom_point(colour = "#1855FA", size=4, alpha = 0.5) +
Expand All @@ -172,7 +172,7 @@ dev.off()
# Plote a relaçãoo entre status e os resíduos da relacao entre comprimento
# cefalotorácico e altura do própodo, depois exporte o gráfico como um
# arquivo PNG
p6 = png(filename= "p6.png", res= 300, height= 3000, width= 3000)
p6 = png(filename= "figuras/p6.png", res= 300, height= 2000, width= 3000)
ggplot(dados, aes(x=fit5.res, y=status2)) +
geom_point(colour = "#1855FA", size=4, alpha = 0.5) +
stat_smooth(method="glm", method.args=list(family="binomial"), se=FALSE) +
Expand All @@ -192,5 +192,34 @@ fit6 = glmer(status2 ~ fit5.res + (1|dupla), family=binomial, data=dados)
summary(fit6)
res6 = anova(fit6, test="Chisq")
res6
capture.output(res6, file = "resultados-res-dupla.txt")
capture.output(res6, file = "resultados/resultados-res-dupla.txt")
isSingular(fit6, tol = 1e-05)


########################### Para saber mais ####################################

# Bolker, B. M., Brooks, M. E., Clark, C. J., Geange, S. W., Poulsen, J. R.,
# Stevens, M. H. H., & White, J.-S. S. (2009). Generalized linear mixed models:
# a practical guide for ecology and evolution. Trends in Ecology & Evolution,
# 24(3), 127–135. https://doi.org/10.1016/j.tree.2008.10.008

# Dobson, A. J., & Barnett, A. J. (2008). An introduction to generalized
# linear models (3rd ed.). CRC Press.

# Ellison, A. M., Gotelli, N. J., Inouye, B. D., & Strong, D. R. (2014).
# P values, hypothesis testing, and model selection: it’s déjà vu all over
# again. Ecology, 95(3), 609–610. https://doi.org/10.1890/13-1911.1

# Zuur, A. F., Ieno, E. N., Walker, N., Saveliev, A. A., & Smith, G. M.
# (2009). Mixed effects models and extensions in ecology with R (1st ed.).
# Springer New York. https://doi.org/10.1007/978-0-387-87458-6

# Zuur, A. F., Ieno, E. N., & Elphick, C. S. (2010). A protocol for data
# exploration to avoid common statistical problems. Methods in Ecology and
# Evolution, 1(1), 3–14. https://doi.org/10.1111/j.2041-210X.2009.00001.x

# Regressão logística na Wikipedia:
#https://pt.wikipedia.org/wiki/Regressão_logística

# GLM na Wikipedia:
# https://en.wikipedia.org/wiki/Generalized_linear_model
Binary file added PC2 Reproducao/figuras/p1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
Binary file removed PC2 Reproducao/p1.png
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
56 changes: 47 additions & 9 deletions PC5 Forrageio/lobos.R
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ p1 #essa nuvem em torno da reta de tendência é o intervalo de confiança

# Quer exportar o gráfico como uma imagem de alta resolução usando comandos,
# ao invés da janelinha de export? Experimente esta solução:
png(filename= "p1.png", res= 300, height= 3000, width= 3500)
png(filename= "figuras/p1.png", res= 300, height= 3000, width= 3500)
p1
dev.off()

Expand All @@ -93,12 +93,16 @@ resultados1

# Quer exportar os resultados como um arquivo de texto? Use esta solução,
# por exemplo.
capture.output(resultados1, file = "res1.txt")
capture.output(resultados1, file = "resultados/res1.txt")

# Outra forma de testar a significância seria através de uma análise de
# variância (ANOVA). Experimente essa alternativa.
res1 = anova(fit1, test="Chisq")
res1 #E ai? Mudou alguma coisa?
resultados2 = anova(fit1, test="Chisq")
resultados2 #E ai? Mudou alguma coisa?

# Quer exportar os resultados como um arquivo de texto? Use esta solução,
# por exemplo.
capture.output(resultados2, file = "resultados/res2.txt")

# Você pode tambem calcular a odds ratio, que te informa o quanto o Y muda a
# cada mudança de 1 unidade do X.
Expand All @@ -111,27 +115,61 @@ exp(cbind(coef(fit1), confint(fit1)))
# modelos: um contendo o fator de interesse (fit1, criado alguns passos atrás)
# e outro sem ele (nulo). Veja como fazê-lo.
nulo = glm(preytype~1, family=binomial(link="logit"))
anova(nulo, fit1, test="Chisq") #E ai? Mudou alguma coisa?
resultados3 = anova(nulo, fit1, test="Chisq")
resultados3 #E ai? Mudou alguma coisa?

# Quer exportar os resultados como um arquivo de texto? Use esta solução,
# por exemplo.
capture.output(resultados3, file = "resultados/res3.txt")

# Não faltam formas de se testar a significância de um GLM. Uma terceira
# alternativa é por seleção de modelos, usando o AICc: critério de informacao
# de Akaike corrigido. Escolhe-se o modelo que apresenta menor valor de AICc.
# Considera-se a diferença (delta) entre dois modelos significativa, apenas se
# AICc1 - AICc2 > 2.
AICctab(fit1,nulo)
resultados4 = AICctab(fit1,nulo)
resultados4

# Quer exportar os resultados como um arquivo de texto? Use esta solução,
# por exemplo.
capture.output(resultados4, file = "resultados/res4.txt")

# Caso você decida que mais de um fator importa neste caso, pode fazer um modelo
# multifatorial, como neste exemplo. Esses modelos podem incluir a interação
# entre os fatores, mas vamos deixar essa complicação adicional para outra hora.
fit2 = glm(preytype~moosedensity+timesincekill, family=binomial(link="logit"))

# Confira o resultado.
summary(fit2)
resultados5 = summary(fit2)
resultados5

# Quer exportar os resultados como um arquivo de texto? Use esta solução,
# por exemplo.
capture.output(resultados5, file = "resultados/res5.txt")

################################################################################

#Sugestões de leitura:
########################### Para saber mais ####################################


# Bolker, B. M., Brooks, M. E., Clark, C. J., Geange, S. W., Poulsen, J. R.,
# Stevens, M. H. H., & White, J.-S. S. (2009). Generalized linear mixed models:
# a practical guide for ecology and evolution. Trends in Ecology & Evolution,
# 24(3), 127–135. https://doi.org/10.1016/j.tree.2008.10.008

# Dobson, A. J., & Barnett, A. J. (2008). An introduction to generalized
# linear models (3rd ed.). CRC Press.

# Ellison, A. M., Gotelli, N. J., Inouye, B. D., & Strong, D. R. (2014).
# P values, hypothesis testing, and model selection: it’s déjà vu all over
# again. Ecology, 95(3), 609–610. https://doi.org/10.1890/13-1911.1

# Zuur, A. F., Ieno, E. N., Walker, N., Saveliev, A. A., & Smith, G. M.
# (2009). Mixed effects models and extensions in ecology with R (1st ed.).
# Springer New York. https://doi.org/10.1007/978-0-387-87458-6

# Zuur, A. F., Ieno, E. N., & Elphick, C. S. (2010). A protocol for data
# exploration to avoid common statistical problems. Methods in Ecology and
# Evolution, 1(1), 3–14. https://doi.org/10.1111/j.2041-210X.2009.00001.x

# Regressão logística na Wikipedia:
#https://pt.wikipedia.org/wiki/Regressão_logística
Expand Down
Binary file removed PC5 Forrageio/p2.png
Binary file not shown.
23 changes: 0 additions & 23 deletions PC5 Forrageio/res2.txt

This file was deleted.

File renamed without changes.
14 changes: 14 additions & 0 deletions PC5 Forrageio/resultados/res2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Analysis of Deviance Table

Model: binomial, link: logit

Response: preytype

Terms added sequentially (first to last)


Df Deviance Resid. Df Resid. Dev Pr(>Chi)
NULL 364 432.48
moosedensity 1 5.4235 363 427.05 0.01987 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
9 changes: 9 additions & 0 deletions PC5 Forrageio/resultados/res3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Analysis of Deviance Table

Model 1: preytype ~ 1
Model 2: preytype ~ moosedensity
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 364 432.48
2 363 427.05 1 5.4235 0.01987 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
3 changes: 3 additions & 0 deletions PC5 Forrageio/resultados/res4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dAICc df
fit1 0.0 2
nulo 3.4 1
25 changes: 25 additions & 0 deletions PC5 Forrageio/resultados/res5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Call:
glm(formula = preytype ~ moosedensity + timesincekill, family = binomial(link = "logit"))

Deviance Residuals:
Min 1Q Median 3Q Max
-2.0372 -1.4597 0.7733 0.8467 0.9506

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.56016 0.23143 2.420 0.0155 *
moosedensity 0.14958 0.08295 1.803 0.0713 .
timesincekill 0.04052 0.04632 0.875 0.3817
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 406.03 on 341 degrees of freedom
Residual deviance: 401.86 on 339 degrees of freedom
(23 observations deleted due to missingness)
AIC: 407.86

Number of Fisher Scoring iterations: 4

18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
# EcoAnimal

Códigos e dados usados nas práticas da disciplina "Tópicos Avançados em Ecologia de Animais" (BIE0315), Departamento de Ecologia, Instituto de Biociências, Universidade de São Paulo.
Códigos e dados usados nas práticas do Bloco 2 da disciplina ["Tópicos Avançados em Ecologia de Animais"](https://uspdigital.usp.br/jupiterweb/obterDisciplina?sgldis=BIE0315&verdis=4) (BIE0315), Departamento de Ecologia, Instituto de Biociências, Universidade de São Paulo. A disciplina é ministrada pelos professores José Carlos Motta Jr. e Marco A. R. Mello.

Laboratório de Síntese Ecológica (SintECO): https://marcomellolab.wordpress.com.
Laboratório de Síntese Ecológica ([SintECO](https://marcomellolab.wordpress.com)).

Autor: Marco Mello.
Autor: Marco A. R. Mello.

E-mail: [email protected].
E-mail: [marmello\@usp.br](mailto:[email protected]){.email}.

Publicado originalmente em 02/05/2022 e atualizado constantemente.

Feito em R version 4.1.2 (2021-11-01) -- "Bird Hippie"

Aviso: Você pode usar este software livremente para fins não-comerciais por sua conta e risco, seguindo a licença mencionada no repositório. Não assumimos nenhuma responsabilidade pelo uso deste software, não fornecemos nenhuma licença ou título sob qualquer patente, direito autoral ou trabalho de máscara ao produto. Reservamo-nos o direito de fazer alterações no software sem notificação. Também não fazemos nenhuma declaração ou garantia de que este software seja adequado para o uso especificado sem os devidos testes ou modificações. Se este software ajudar você a produzir qualquer trabalho acadêmico (artigo, livro, capítulo, dissertação, tese, monografia, palestra, defesa, aula etc.), por favor, credite os autores e cite a fonte, usando o DOI ou URL para este repositório.
## Aviso

Versão antiga: https://github.com/marmello77/EcoAnimal2019
Você pode usar este software livremente para quaisquer fins por sua conta e risco, seguindo a licença mencionada no repositório. Não assumimos nenhuma responsabilidade pelo uso deste software, não fornecemos nenhuma licença ou título sob qualquer patente, direito autoral ou trabalho de máscara ao produto. Reservamo-nos o direito de fazer alterações no software sem notificação. Também não fazemos nenhuma declaração ou garantia de que este software seja adequado para o uso especificado sem os devidos testes ou modificações. Se este software ajudar você a produzir qualquer trabalho acadêmico (artigo, livro, capítulo, patente, dissertação, tese, monografia, palestra, defesa, aula etc.), por favor, credite os autores e cite a fonte, usando o DOI estável para este repositório.

[Versão antiga](https://github.com/marmello77/EcoAnimal2019).

## Agradecimentos

Agradeço ao Prof. Motta Jr., coordenador da disciplina, e a todos os tutores e monitores, que ao longo dos anos foram me ajudando a melhorar estas práticas e seus respectivos códigos. Um salve especial vai para a comunidade do [StackOverflow](https://stackoverflow.com), onde resolvermos a maioria dos nossos problemas.

0 comments on commit 56d9b61

Please sign in to comment.