====== Clarissa de Oliveira Santos ====== {{:01_curso_atual:alunos:trabalho_final:clarissa.2204:10945734_793043624128142_2081049356603109008_n.jpg?200|}} Mestranda em Ecologia e Recursos Naturais pelo Centro de Ciências Biológicas e Saúde - UFSCar Desenvolve projeto sobre **ecologia de aves em paisagens antrópicas** em Araçoiaba da Serra - SP, pelo Laboratório de Ecologia e Conservação - LECO http://lecoufscar.blogspot.com.br/ [[.:exec]] **Proposta A** A Lista de Mackinnon é uma metodologia para a realização de inventários de espécies de aves muito utilizada em trabalhos de consultoria ambiental e avaliações ecológicas rápidas que têm como um dos objetivos a obtenção de dados quantitativos das espécies presentes. A metodologia consiste no registro das 10 primeiras espécies identificadas em uma lista sem repetições, ao completar 10 espécies se inicia uma nova lista. Dessa forma é possível determinar parâmetros quantitativos da comunidade de aves, visto que as amostras são as listas obtidas durante o estudo. O método resulta em um índice de abundância relativa, o Índice de Frequência nas Listas (IFL), em que divide-se o número de listas que determinada espécie foi registrada pelo número total de listas obtidas. A tabulação e organização dos dados é feita em uma tabela na qual as linhas indicam as espécies presentes em todas as listas, e as colunas indicam cada uma das listas, o resto da tabela é preenchido indicando a presença (1) ou ausência (0) da espécie na lista da coluna correspondente. O objetivo da função é a partir das listas propriamente ditas, retornar um data frame com os dados organizados e um vetor com IFL para cada espécie. Exemplo: data.frame argumento {{:01_curso_atual:alunos:trabalho_final:clarissa.2204:sem_titulo2.jpg?200|}} Data.frame retorno {{:01_curso_atual:alunos:trabalho_final:clarissa.2204:sem_titulo.jpg?200|}} Pergunta: o Ale comentou em aula uma função que compara nomes parecidos de um objeto, em colocá-la como “if” para correção de possíveis nomes incorretos nas listas, gostaria de saber o nome da função **Proposta B** O objetivo da função é ajudar na organização de malas de roupas para viagem. Os argumentos usados serão o tempo duração da viagem, a estação na qual a mesma será feita, a altura da pessoa. A partir de pesquisas em blog, e sites de organização determinarei o número e os tipos de peças necessárias para classes de dias (3-5 dias, 6-10 dias) e para as estações, e medirei o tamanho médio dessas peças de tamanhos variados, dentro de classes de altura. A função retornará o tamanho da mala necessária para a viagem para essa pessoa. ==== Comentários Vitor==== Olá Clarissa, Suas propostas precisam de um pouco de trabalho, estruturando elas mais em forma de função mesmo, com argumentos e saídas bem delimitados. Na proposta A, o IFL é apenas uma frequência relativa para cada espécie? Se for, a função pode ser resolvida em apenas alguns apply() ou if()s. A função me parece que pode sair mais elaborada, com por exemplo um gráfico ranqueando as espécies por frequência, ou calculando um índice de associação das espécies. Cada lista é um local separado? Não entendi direito a metodologia das listas, mas seria mais interessante se a função calculasse todo o processo, recebendo os dados brutos, calculando as listas internamente e retornando somente os resultado, já que me parece que o maior trabalho é gerar as listas Não sei qual a função que ALê falou na sala, mas a função unique() te retorna todas as ocorrências de uma determinada string, o que facilita detectar erros de digitação, mas esse é um tratamento que tem de ser feito fora da função A proposta B parece simples, mas na verdade pode ser um desafio computacional interessante, se você quiser mergulhar nisso, o problema do empacotamento (packing problem). Se você for seguir com essa função, é melhor você trabalhar com o volume das peças e não com altura, retornando o volume da mala necessário. Um argumento a ser colocado também é se a pessoa vai ter acesso a lavar as roupas na viagem, diminuindo o volume de roupas necessário Eu seguiria com a proposta A, mas ainda precisa dar uma incrementada nela === Resposta ao comentario === Olá Vitor, Então, as listas são os dados brutos, é a forma que os dados são coletados para permitir uma amostragem quantitativa de uma dada área, por isso com o IFL é a frequência relativa de cada espécie e representa uma dado de abundância para cada espécie dessa área. São as replicas do experimento, assim todas as listas são do mesmo local, por isso talvez um índice de associação entre as espécies não faça sentido, mas posso incrementar a função com Estimativa de riqueza, Índice de Diversidade, e Equidade, sendo esses argumentos da função para determinar qual o índice será usado além do gráfico que você comentou. Quando você diz "calculando as listas internamente e retornando somente os resultado", quer dizer sem retornar o data.frame com as presenças e ausências? Pois eu acho interessante retornar esse objeto para possibilitar analises entre conjuntos de listas diferentes, por exemplo entre locais diferentes, ou estações. =====Vitor===== Clarissa, eu tinha entendido ao contrário, que as listas seriam o resultado final. Pode seguir com a função calculando os índices e gerando o gráfico. ====Função estruturada==== ====Tarefa a ser executada==== 1. Organizar os dados de um levantamento de avifauna amostrados a partir da metologia das listas de Mackinnon em uma tabela (*data.frame retorno) indicando a presença ou ausência de cada espécie em cada uma das listas 2. retornar dados de abundância das espécies (IFL) e um gráfico de barras com esses valores, riqueza, diversidade, equidade e dominância. ====Utilidade da função==== A organização dos dados para essa metodologia pode ser extremamente trabalhosa, dependendo do número de listas produzidas durante a coleta. Automatizar a tabulação dos dados diminuiria o tempo gasto na organização dos dados e evita que erros de digitação ocorram. ====Argumentos de entrada==== Objeto contendo as listas(*data.frame entrada) Números de listas prosuzidas obs.: os índices serão padronizados a partir da literatura, que afirma que muitos índices tendem a retornar valores a super ou subestimar para essa metodologia (Estimador de Riqueza: Jackknife1, Diversidade: Shannon(H’), Equitabilidade (J’), Dominância de Simpson(C)) ====Saída da função==== A função retornara um objeto do tipo data.frame indicando a presença ou ausência da espécie em cada lista Um vetor contendo o IFL para cada um das espécies Gráfico com o IFL das espécies Outro vetor contendo a riqueza estimada, índices de diversidade, equidade e dominância ====Função Lista de Mackinnon (mack)==== mack<- function(x, nlist) { names(x)=c("Lista", "Especie") #altera o nome das colunas do data frame x.tab=table(x$Especie, x$Lista)#aplica a função table no data frame para retornar objeto com presença/ausência tab= matrix(x.tab, ncol=nlist)#cria objeto proveniente do x.tab como matriz colnames(tab)=colnames(x.tab) #coloca os mesmos nomes das colunas do objeto x.tab no objeto tab rownames(tab)=rownames(x.tab) #coloca os mesmos nomes das linhas do objeto x.tab no objeto tab freq=apply(tab,1,sum) #calcula quantas vezes cada espécie aparece no conjunto de lista ifl=freq/nlist #calcula o índice de frequencia por lista de cada espécie ifl.graf=sort(ifl, decreasing = T)#organiza os dados de ifl em ordem decrescente nspp=length(ifl.graf)#vetor com o número de espécies graf=barplot(ifl.graf, cex.names = 0.55, las=3,ylab="Listas", bty="l", line=-0.7, col= 1:nspp, main="Índice de Frequência por Lista")#Gráfico de barras do IFL freq.=as.numeric(c(as.data.frame(freq)$freq))#cria um vetor númerico com o total de vezes que cada espécie aparece no conjunto de listas Sobs=length(freq.[freq.>0]) #calcula a riqueza observada N=as.numeric(length(x$Especie)) #vetor numérico com o número total de indivíduos amostrados p=freq/N #calcula abundância relativa de cada espécie p.log.p=p*(log(p))#parte da formúla do Indice de Shannon H<--sum(p.log.p)#calcula o Indice de diversidade de Shannon Hm=log(Sobs)#calcula a diversidade máxima J=H/Hm #equitabilidade de Pielou C=1-(sum(freq.*(freq.-1))/(N*(N-1)))#Indice de dominância de simpson q.=freq.==1#seleciona espécies que aparecem em uma única amostra q.1= freq.[q.] #parte da formúla de Jackknife q1=length(q.1)###número de espécies em 1 única amostra(lista) Sobs=length(freq.[freq.>0]) jack=Sobs+(q1*(nlist-1/nlist))#Estimador de riqueza Jackknife 1 ind.div=list(H, J, C, jack)#organiza tudos os indicadores de diversidade em uma lista names(ind.div)=c("Ìndice de Diversidade de Shannon", "Equitabilidade de Pielou", "Índice de Dominância de Simpson", "Jackknife1")# relaciona cada item do objeto ind.div com um nome tudo=list(tab, ifl, ind.div )#organiza todos os objetos retorno da função em uma lista names(tudo)= c("Tabulação Lista de Mackinnon", "IFL", "Índices de Diversidade")#nomes dos vetores contidos no objeto tudo return(tudo)#retorno da função } ====Help da função==== mack package: sem pacote R Documentation ###Tabula dados obtidos pela metodologia de Listas de Mackinnon e fornece indicadores de diversidade### Description Retorna uma matriz com a tabulação de dados de levantamentos de espécies de aves obtidos a partir de Listas de Mackinnon no qual as listas representam unidades amostrais, um vetor numérico com Índice de Frequência por Lista (IFL) de cada espécie, um grafico de barras com o IFL das espécies, riqueza observada, estimador Jackknife 1, Índice de Diversidade de Shannon (H’), Equitabilidade(J’) e Dominância. Usage: mack(x, nlist) Arguments: x: um obejto de classe data.frame contendo as listas de Mackinnon. nlist: número de listas de espécies. Details: o data frame de entrada deve estar organizado em duas colunas, a primeira com 10 repetições do número da lista (1:nlist, “lista”, each=10). Value: Matriz com tabulação: contém todas as espécies observadas como nomes das linhas e as listas numeradas nas] colunas, indicando a presença(1) ou ausência(0) de cada espécie em cada um das listas IFL: índice quantitativo indicando a abundância de cada espécie gráfico de abundância: gráfico de barras comparando a frequência por lista de cada espécies indicadores de diversidade: riqueza observada, estimador Jackknife, Índice de Diversidade de Shannon (H’), Equitabilidade(J’) e Dominância Author(s): Clarissa de Oliveira Santos References: VON MATTER, Sandro; et al, Ornitologia e Conservação – Ciência aplicada, técnicas de pesquisa e levantamento. Technical Books. 2010. Examples: exemplo=read.csv("exemplo.csv", header=T) #Para rodar o exemplo fazer download do arquivo "exemplo.csv" na página: http://ecologia.ib.usp.br/bie5782/doku.php?id=01_curso_atual:alunos:trabalho_final:clarissa.2204:start mack(exemplo, nlist=3) arquivo para o examples: {{:01_curso_atual:alunos:trabalho_final:clarissa.2204:exemplo.csv|}}