---
title: "Ecologia Numérica"
subtitle: "Exame Prático de 08-02-2018"
author: "Nome do(s) alunos e número(s) do(s) aluno(s)"
date: "Fevereiro 8, 2019"
output:
  html_document: default
  pdf_document: default
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

# Instruções para antes de começar - ler com MUITA atenção

Comece por compilar este .Rmd no seu computador, para verificar que funciona. 

Nota: se um pedaço de código (*code chunk*) não estiver a correr, poderá forçar a compilação do documento usando o seguinte cabeçalho no respectivo chunk: 

```{r eval=FALSE}`

Desta forma, o código fica no documento mesmo que não esteja a correr correctamente e poderá assim ter a sua resposta (parcialmente) correcta.

Este é um exame realizado exclusivamente em R. Todo o código utilizado deverá estar visível no HTML resultante da compilação do .Rmd que é entregue. Justifique adequadamente todas as suas respostas, não se limitando a apresentar output de código.

Para evitar problemas, recomenda-se vivamente que não corra *chuncks* individuais mas que cada vez que queira ver o output compile o .Rmd completo. Há situações em que correr *chunck* a *chunck* origina resultados diferentes de compilar todo o documento.

Crie uma pasta onde deverá colocar todos os ficheiros e objetos criados durante o exame, incluindo os ficheiros de dados que sejam utilizados no decorrer do mesmo. Com base neste .Rmd, crie um relatório dinâmico em RMarkdown, com um título apropriado, a identificação dos autores (nome e respetivo número), **onde deverá apresentar todo o código necessário e output para a realização do exame**. Perguntas respondidas sem o código necessário para compreender a resposta poderão ser consideradas erradas.

O nome do ficheiro deverá ser EPENE1A1819A*****.Rmd. No caso de ser um par deverá ser EPENE1A1819A*****A*****.Rmd, onde ***** representa(m) o(s) número(s) de aluno correspondente(s). 

Deverá entregar os seguintes ficheiros via e-mail:

1. o Rmd (este documento, depois de editado com as suas respostas);
2. o HTML correspondente
3. todos os ficheiros de dados utilizados

Os ficheiros deverão ser enviado para dois e-mails: 

1. Tiago Marques em tamarques@fc.ul.pt 
2. Soraia Pereira em soraia.gpereira@gmail.com

O nome dos alunos e os seus números de aluno deverão ser apresentados também no corpo do e-mail. O assunto deverá ser "exame P de EN - A*****" no caso de um aluno ou "exame P de EN - A***** A*****" no caso de um par, onde o ***** é substituido pelos númeors de aluno.

Apenas deverá abandonar a sala depois de confirmar que o seu exame foi recebido pela professora Soraia Pereira.

```{r,echo=FALSE}
#DO NOT DELETE THIS OR THE EXAM .Rmd MIGHT NOT COMPILE!!!
library(vegan)
#DO NOT DELETE THIS OR THE EXAM .Rmd  MIGHT NOT COMPILE!!!
```

# Exercício 1

(cotação  0.25)

Crie um conjunto de dados simulados de uma variável aleatória Y, os ys, Y representa o número de parasitas numa espécie de peixe, e que é uma função potencial de 6 variáveis independentes (x1 representa o comprimento do peixe, em cm, x2 a x6 outras variáveis relevantes). Os dados foram recolhidos em dois estuários (“est”) e em 4 anos diferentes (“ano”). 

Para criar estes dados basta correr o código abaixo, substituindo o 2215 do exemplo pelo(s) dia(s) do mês em que faz(em) anos. **FUNDAMENTAL**: substituir o 2215 pelo(s) seu(s) dia de anos.

```{r}
set.seed(2215) 
# **** dias do mês em que o aluno faz anos, 
#e.g. Carlos e Maria com anos a 22 de Junho e 15 de Abril 
b0=rnorm(1,0.1,0.02)
b1=rnorm(1,0.1,0.03)
b2=rnorm(1,0,0.3)
b3=rnorm(1,0,0.2)
b4=rnorm(1,0,0.2)
b5=rnorm(1,0,0.1)
b6=rnorm(1,0,0.1)
n1=rpois(1,40)
n2=2*n1
n=4*n1
#obter estuarios
myest=sample(c("Tejo","Sado","Guadiana","Mondego","Mira","Liz","Vouga"))
est=sample(x=myest,size=n,replace=TRUE)
#obter anos
ano=sample(2000:2014,1)
ano= sample(x=c(ano:(ano+3)),size=n,replace=TRUE)
#gerar os comprimentos
x1=c(runif(n2,10,20), runif(n2,20,30))
#gerar as outras variáveis
x2=c(runif(n2,0,10), runif(n2,5,15))
x3= c(rnorm(n1,0,1), rnorm(n1,1,1),rnorm(n1,2,1),rnorm(n1,3,1))
x4= c(rnorm(n1,0,1), rnorm(n1,0,1),rnorm(n1,0,1),rnorm(n1,1,1))
x5=rnorm(n,15,2)
x6=rnorm(n,0,5)
p=0.2; torf=sample(x=c(0,1),size=6,prob=c(p,1-p),replace=TRUE)
#generate mean value
Ey=exp(b0+b1*x1*torf[1]+b2*x2*torf[2]+b3*x3*torf[3]+
b4*x4*torf[4]+b5*x5*torf[5]+b6*x6*torf[6])
#generate a sample
ys=rpois(n,Ey)
```

#Exercício 1.1

(cotação  0.75) Qual o número máximo e mínimo de parasitas observado? Estes valores foram observados em peixes de que estuário?

```{r}
#codigo necessário para o exercício 1.1
#use vários chunks em separado se necessário!
```

Resposta: Substituir este texto com a sua resposta ao exercicio 1.1

## Exercício 1.2 

(cotação  0.5) Quais os estuários e os anos amostrados?

```{r}
#codigo necessário para o exercício 1.2
#use vários chunks em separado se necessário!
```

Resposta: Substituir este texto com a sua resposta ao exercicio 1.2


## Exercício 1.3 

(cotação  0.75) É possivel que colegas que não tenham o mesmo dia de anos obtenham o mesmo tamanho de amostra? Justifique 

```{r}
#codigo necessário para o exercício 1.3
#use vários chunks em separado se necessário!
```

Resposta: Substituir este texto com a sua resposta ao exercicio 1.4

# Exercício 2

Com base nos dados gerados no exercício anterior, há interesse em saber se o comprimento do peixe está relacionado com o número de parasitas do peixe.

# Exercício 2.1 

(cotação 1.25) Avalie a plausibilidade da relação anterior, usando um gráfico adequado para o efeito, com eixos explicativos adequados. Comente a relação encontrada (ou a ausência da mesma).

# Exercício 2.2 

(cotação 1.25) Teste formalmente se a correlação entre o tamanho do peixe e o número de parasitas é significativa e conclua sobre ela apresentando uma possivel relação ecológica para a justificar.

# Exercício 3

Outra pergunta de interesse relaciona-se com saber se houve um aumento no número de parasitas ao longo do tempo.

#Exercício 3.1

(cotação 1) Apresente dois gráficos lado a lado, que representem o número de parasitas em função do ano, considerando o ano (1) um factor (2) uma variável numérica. Adicione uma linha que represente a tendência no segundo gráfico.

#Exercício 3.2

(cotação 0.5) Interprete os resultados apresentados nos gráficos acima. Parece-lhe haver algum padrão?

#Exercício 3.3

(cotação 0.5) Em geral, numa situação destas, o que lhe parecia mais adequado, usar o ano como um factor ou uma variável numérica? A sua conclusão seria a mesma se tivesse dados para 50 anos? Justifique as suas respostas.

# Exercício 3.4

(cotação 1) Escolha se quer considerar o ano um factor ou não. sendo consistente com essa escolha, teste formalmente a existências de diferenças significativas no número de parasitas por ano.

# Exercício 4

(cotação 0.25) Com base nos dados gerados no exercício 2, crie uma `data.frame` adequada, a que chama `parsys`, para realizar um `glm` em que explica a variável dependente `ys` em função das variáveis seguintes variáveis independentes (`x1`, `x2`, `est` e `ano`).

# Exercício 4.1 

(cotação 0.75) Implemente um glm adequado para explicar a variável dependente em função das independentes definidas na pergunta 4.1. Justifique a escolha da família usada.

# Exercício 4.2 

(cotação 1) Quais das variáveis lhe parecem importantes para explicar os ys?

# Exercício 4.3 

(cotação 1) Escolha um dos estuários e um dos anos, e para um peixe de 15 cm, qual o valor do número médio deparasitas que espera encontrar? Apresente todos os passos realizados.

# Exercício 4.4 

(cotação 0.5) Calcule a probabilidade de ao amostrar um peixe com as caracteristicas da alinea 5.3, observar 5 ou menos parasitas. Se não tiver resolvido a alínea 5.3, assuma que o valor médio do número de parasitas era 7.

# Exercício 5

No código acima, o parâmetro `p`, que afecta o resultado de `torf` tomava o valor 0.2.

# Exercício 5.1

(cotação 0.75) Das variáveis `x1`, `x2`, `x3`, `x4`, `x5`, `x6`, quantas e quais eram importantes para explicar os `ys`?

# Exercício 5.2

(cotação 1) Cometeu algum erro no que diz respeito à variável `x1` ou `x2` no exercicio 4.2? Se sim, de que tipo, justifique. Se não completou o 4.2, assuma que o  P-value associado a x1 e x2 foi 0.001 e 0.37,respectivamente.

# Exercício 5.3

(cotação 0.75)

Caso o valor de `p` fosse 0.8, esperava ter mais ou menos variáveis a serem importantes para explicar os `ys`. Justifique.

# Exercício 6

Execute o seguinte código

**FUNDAMENTAL**: substituir o 2215 pelo(s) seu(s) dia de anos.

```{r}
set.seed(2215) 
# **** dias do mês em que o aluno faz anos, 
#e.g. Carlos e Maria com anos a 22 de Junho e 15 de Abril
file=ceiling(runif(1,0,100))
```

# Exercício 6.1 

(cotação 0.25) Que número que se encontra dentro do objecto file?

# Exercício 7

(cotação 0.25) Leia o ficheiro “data4EPENg*.txt”, onde substitui o * pelo número que tem no objecto file criado no Exercício 6 (ficheiros no FENIX). Neste conjunto de dados temos as abundâncias de 12 espécies de 4 géneros de peixes capturados em sessões de 15 minutos de pesca eléctrica. A primeira coluna contém o tipo de habitat predominante no troço de rio correspondente.

# Exercício 7.1 

(cotação 0. 5) Quantos locais foram amostrados em cada habitat e qual a espécie de peixe mais abundante?

# Exercício 7.2

(cotação 1) Realize uma análise de agrupamento não-hierárquica com o objectivo de avaliar se as comunidades de peixes são bons descritores dos 3 tipos de habitat. Apresente o output dessa análise e refira quantos elementos tem cada um dos grupos criados.

# Exercício 7.3
 
(cotação 1) O output dessa análise é consistente com o facto dos peixes serem bos descriminantes dos habitats iniciais? Justifique a sua resposta.

# Exercício 8

(cotação 0.25) 

Utilize o código seguinte para gerar um conjuto de dados. 
**FUNDAMENTAL**: substituir o 2215 pelo(s) seu(s) dia de anos.

```{r}
set.seed(2215) 
# **** dias do mês em que o aluno faz anos, 
#e.g. Carlos e Maria com anos a 22 de Junho e 15 de Abril
data(varespec)
#random bits
multiplier=matrix(rnorm(prod(dim(varespec)),mean=1,sd=0.1),ncol=ncol(varespec),nrow=nrow(varespec))
myvarespec=abs(round(multiplier*varespec))
data(varechem)
```

Neste momento tem disponiveis no seu workspace os objectos `myvarespec` (não usar o objecto `varespec`) e `varechem` que representam respectivamente o número de indivíduos de espécies vegetais encontrados em diferentes locais, e algumas  variáveis ambientais registadas nesses mesmos locais.

# Exercício 8.1 

(cotação 0.5) Quantos locais, espécies e variáveis ambientais se encontram nos seus dados? Apresente (aqui e em todas as perguntas!) o código usado.

# Exercício 8.2 

(cotação 1.5) Realize uma análise de ordenação directa adequada para descrever os locais em função das suas características, apresente o output relevante e interprete os resultados da análise. (Ajuda: Uma descrição sobre os dados encontra-se disponível em `?varespec` e `?varespec`. Apesar de termos alterado aleatoriamente os dados, as descrições continuam a ser válidas.)

# Exercício 8.3 

(cotação 0.5) Qual a proporção de variação explicada pelos 3 primeiros eixos da análise?

# Exercício 8.4 
(cotação 0.75) 

Sabendo que locais com elevado pH, Fe e Al são locais com maior altitude, que local lhe parece provavelmente ser mais elevado, o local 3, o local 7 ou o local 28? Justifique a sua resposta.
