====== Olidan Pocius ====== {{:bie5782:01_curso_atual:alunos:trabalho_final:olidan:capturar.jpg?200|}} 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 ====== [[.:exec]] ====== Trabalho Final ====== *** RIQUEZA E DIVERSIDADE de ESPÉCIES AO LONGO DE GRADIENTES *** Arquivo da função: {{:bie5782:01_curso_atual:alunos:trabalho_final:olidan: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 ====== {{:bie5782:01_curso_atual:alunos:trabalho_final:olidan:exemplocomu.csv|}} Saídas: {{:bie5782:01_curso_atual:alunos:trabalho_final:olidan:capturar1.jpg|}} {{:bie5782:01_curso_atual:alunos:trabalho_final:olidan:capturar2.jpg|}} {{:bie5782:01_curso_atual:alunos:trabalho_final:olidan: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 **