====== 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 **