Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2011:alunos:trabalho_final:olidan:start

Olidan Pocius

capturar.jpg

Aluno de doutorado do Programa de Pós-Graduação em Ecologia - IB-USP. Meu interesse de pesquisa é sobre ecologia de comunidades vegetais, mais especificamente sobre padrões de diversidade funcional e suas relações com gradientes ambientais, estrutura e dinâmica de comunidades. Desenvolvo o projeto genericamente entitulado de “Padrões de uso da água e do gás carbônico por elementos das comunidades vegetais insulares em um afloramento granítico do sudeste do Brasil” sob orientação do Prof.Dr. Sérgio Tadeu Meirelles.

Exercícios

Trabalho Final

* RIQUEZA E DIVERSIDADE de ESPÉCIES AO LONGO DE GRADIENTES *

Arquivo da função: diver.grad.r

Código da função:

diver.grad<-function(data.field,env.var,pos=1,n,dec=2,dec2=3){
#### Olidan Pocius - 2011 - bie5782 -IBUSP - Depto de Ecologia
#### Funçao diver.grad - Versão beta
#### 1 - Ordena o data frame em funçao do gradiente e determina as subamostras
  attach(data.field,warn.conflicts=F)
  preord<-data.field[order(env.var),]
  detach(data.field)
  attach(preord,warn.conflicts=F)
  N =length(env.var)
  detach(preord)
  limite = N/n
  arr.limite = floor(limite)
  SUB<-rep(1:arr.limite, each = n)
  DIF<-N-length(SUB)
  AP<-rep(NA,times=DIF)
  SUB.1<-append(SUB,AP)
  ord = cbind(preord,SUB.1)
#### 2 - Cria as matrizes para o armazenamento dos resultados
  diver=matrix(NA,ncol=8,nrow=arr.limite)
  rownames(diver)<-paste("Sub.", c(1:arr.limite))
  colnames(diver)<-paste(c("Sub.Am.","Riqueza(S)","Shannon(H')","Simpson(D)","Hill1(N1)","Hill2(N2)","Hill(E)","J(Pielou)"))
  grad=matrix(NA,ncol=6,nrow=arr.limite)
  colnames(grad)<-paste(c(" Sub.Am.","Média","Desv.Pad.","Min.","Max.","Ampl.")) # nomes das colunas
  rownames(grad)<-paste("Sub", c(1:arr.limite))
#### 3 - Estatisticas descritivas para a variável determinate do gradiente em cada subamostra
  names(ord)[pos] <- 'ambiente'
    for(i in 1:arr.limite){
      tab.grad<-subset(ord,ord$SUB.1==i)
      su<-mean(tab.grad$SUB.1)
      grad[i,1]<-su
      med<-mean(tab.grad$ambiente)
      med<-round(med,dec)
      grad[i,2]<-med
      dp<-sd(tab.grad$ambiente)
      dp<-round(dp,dec)
      grad[i,3]<-dp
      mi<-min(tab.grad$ambiente)
      mi<-round(mi,dec)
      grad[i,4]<-mi
      ma<-max(tab.grad$ambiente)
      ma<-round(ma,dec)
      grad[i,5]<-ma
      ma<-max(tab.grad$ambiente)
      mi<-min(tab.grad$ambiente)
      ra=ma-mi
      ra<-round(ra,dec)
      grad[i,6]<-ra
    }
#### 4- Determina a riqueza específica e os índices para cada subamostra
  neword <- ord[c(-pos)]
    for(i in 1:arr.limite){
      tab.diver<-subset(neword,neword$SUB.1==i)
      subs<-mean(tab.diver$SUB.1)
      diver[i,1]<-subs
      tab.diver$SUB.1 <- NULL
      abundancia=apply(tab.diver,2,sum,na.rm=TRUE)
      abs=as.data.frame(abundancia)
      newdata <- abs[ which(abs$abundancia > 0), ]
      riqueza = length(newdata)
      diver[i,2]<-riqueza
      pi.sh=newdata/(sum(abundancia))
      pi.logpi=pi.sh*log(pi.sh)
      shann=sum(pi.logpi)*-1
      shann<-round(shann,dec2)
      diver[i,3]<-shann
      pisqr<-pi.sh^2
      simp=sum(pisqr)
      simp<-round(simp,dec2)
      diver[i,4]<-simp
      n1=2.71828^shann
      n1<-round(n1,dec2)
      diver[i,5]<-n1
      n2=1/simp
      n2<-round(n2,dec2)
      diver[i,6]<-n2
      hill=(n2-1)/(n1-1)
      hill<-round(hill,dec2)
      diver[i,7]<-hill
      j=shann/log(riqueza)
      j<-round(j,dec2)
      diver[i,8]<-j
    }
  resulta<-list("N° Observações ignoradas"=DIF,"N° de subamostras"=arr.limite,"N°Obs por subamostra"=n,"GRAD.AMB."=grad,"ÍNDICES"=diver)
  return(resulta)
}

Help da Função:


diver.grad                package:none                R Documentation


**Cálculo de índices de diversidade de espécies ao longo de gradientes**

Description:

     A função permite realizar sub-amostras, de tamanho configurável, a partir de uma matriz de observações de presença/ausência ou abundâncias
     para as quais se tenha o valor de uma variável ambiental em função da qual a matriz será ordenada e a sub-amostragem ocorrerá. A função retorna,
     para cada sub-amostra: a riqueza específica (S), e os índices de Shannon(H')(Shannon & Weaver 1963), Simpson(D)(Simpson 1949), 
     os números de HIll(N1,N2 e N2/N1(E))(Hill 1973) e o indice J de Pielou (Pielou 1975), bem como a média, o desvio padrão, os valores mínimo
     e máximo e a amplitude para a variável determinante do gradiente.
     
     
Usage:

     diver.grad(data.field,env.var,pos=1,n,dec=2,dec2=3)
     
Arguments:

 data.field   data.frame com as observações organizadas em linhas e as espécies, bem como a variável ambiental, organizadas nas colunas (ver Details)  
 env.var      o nome da variável ambiental (sem aspas, case sensitive) em função da qual as observações serão ordenadas
 pos          um número inteiro indicando a posição da variável ambiental, sendo pos=1 o padrão, ou seja, posicionada na primeira coluna do data.frame
 n            um número inteiro indicando o número de observações que serão agrupadas em cada sub-amostra
 dec          um número inteiro indicando o número de casas decimais a serem aproximadas na saída para as estatisticas descritivas da variável ambiental 
 dec2         um número inteiro indicando o número de casas decimais a serem aproximadas na saída para os indices de diversidade

Details:

     O data frame a ser analisado não deve conter observações faltantes (NAs), sendo que a ausência de uma espécie em qualquer observação
     deve ser explicitada com o valor zero. A função suporta data frames com qualquer número de observações de ocorrência ou abundância
     de espécies. Se em decorrência da escolha do tamanho da sub-amostra (argumento n) restarem observaçoes insuficientes para formarem
     uma sub-amostra inteira tais observações serão ignoradas. A função sempre ordena as observações de modo crescente em função de uma
     variável definível (env.var), sendo recomendável que esta esteja na primeira coluna do dataframe. Qualquer outra posição deve ser
     explicitada no argumento pos.
     
Value:

     Lista (class: list) contendo:
     
     N° Observações ignoradas: retorna o n° de obs. não utilizadas em decorrencia de o número observações não ser um múltiplo inteiro
                               do tamanho da subamostra(n)
                               
     N° de subamostras: retorna  o número de subamostras formadas em função do tamanho da subamostra (n) e do n° de observações do data frame
     
     N°Obs por subamostra:retorna o n° de observações (n) de cada sub amostra
      
     GRAD.AMB.: média, desvio padrão, mínimo, máximo e amplitude da variável determinante do gradiente para cada sub-amostra
      
     ÍNDICES: Riqueza(S),Shannon(H'),Simpson(D),Hill1(N1),Hill2(N2),Hill(E) e Pielou(J) para cada sub-amostra estabelecida em funçao
              do gradiente

    
   
Warning:

     Não há alertas
Note:
    
     Desenvolvido em: 
     R version 2.12.2 (2011-02-25)
     RStudio v. 092.44
     Platform: x86_64-pc-mingw32/x64 (64-bit) 
     
Author(s):

     Olidan Pocius, Doutorando do Dept. Ecologia, Instituto de Biociências da Universidade de São Paulo (USP)
     olidanpocius@usp.br
     
References:

     Hill, M.O. (1973). Diversity and evenness: A unifying notation and its consequences. Ecology 54: 427-249.
     Pielou, E.C. (1975). Ecological diversity. John Wiley, New York.
     Simpson, E.H. (1949). Measurement of diversity. Nature 163: 688.
     Shannon  C.E. & Weaver, W. (1963).  The  Mathematical  Theory  of  Communication. University of Illinois Press, Urbana.       
     
See Also:

     ~~objects to See Also as 'help', ~~~

Examples:
     diver.grad(ExemploComu,Elevation,pos=1,n=9,dec=2,dec2=3)
     diver.grad(ExemploComu,Elevation,pos=1,n=16)
     diver.grad(ExemploComu,Elevation,pos=1,n=90)

Arquivo a ser usado como Exemplo

exemplocomu.csv

Saídas:

capturar1.jpg

capturar2.jpg

capturar3.jpg

Proposta inicial

PLANO A: DIVERSIDADE E SIMILARIDADE AO LONGO DE UM GRADIENTE AMBIENTAL. A função permitirá realizar sub-amostras, de tamanho configurável, a partir de uma matriz de observações de presença/ausência para as quais se tenha o valor de ao menos uma variável ambiental, em função da qual a sub-amostragem ocorrerá. A função retornará medidas e indices de diversidade, estatisticas descritivas para a variável ambiental principal (gradiente) e para variáveis suplementares, bem como uma matriz de similaridades/distâncias entre as sub-amostras.

Comentários da Proposta Principal

Boa proposta, geral e factível. O limitante é o tempo que tem para executá-la, e se de fato for, execute parte dela. Talvez até antes da matriz de similaridades/distâncias entre as sub-amostras.

E o plano B?

Gabriel

05_curso_antigo/r2011/alunos/trabalho_final/olidan/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)