Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2017:alunos:trabalho_final:clarissa.2204:start

Clarissa de Oliveira Santos

10945734_793043624128142_2081049356603109008_n.jpg

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

sem_titulo2.jpg

Data.frame retorno

sem_titulo.jpg

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 methods/html/as.html">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 methods/html/as.html">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 methods/html/as.html">as espécies observadas como nomes das linhas e methods/html/as.html">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: exemplo.csv

05_curso_antigo/r2017/alunos/trabalho_final/clarissa.2204/start.txt · Última modificação: 2020/09/23 17:16 por adalardo