--- 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.