projetos:pp_peic:restrito:gabriel:fecundidade

Determinação da Fecundidade

A FECUNDIDADE É PROVAVELMENTE O “CALCANHAR DE AQUILES” DO PROJETO

Decidi estimar a fecundidade aspenas com o recrutamento e mortalidade de plântulas nos censos da Mari. Isso é uma superestimativa, já que não temos os dados de mortalidade até os indivíduos entrarem no censo dos adultos (>10mm DAP). Outra opção seria usar o recrutamento dessa classe, porém só temos os dados de >50mm para os dois censos.

  • Criei um código para o cálculo da fecundidade das espécies presentes nos censos das plantulas. São calculadas as fecundidades para cortes nas populações por classes de DBH (10mm, 20mm, 30mm, 40mm, 50mm)
  • Conceito:
  1. Fecundidade = número de novos individuos produzidos pelos individuos férteis.
  2. Subtrair o número de plantulas que morreram do primeiro censo até o último (3 censos: 5 meses +6 meses +10 meses = 21 meses) do número de recrutadas (média mensal de recrutamento por censo) e multiplicar por 12 meses (taxa anual)
  3. Dividir esse número pelo número de indivíduos da população adulta com DBH > 10, 20, 30, 40 ou 50mm. Com isso temos a fecundidade individual anual por classe de DBH.

plantulas.mari.ra.csv

Código: (o código para uso da chuva de sementes está aqui também)

setwd("C:/Users/Gabriel/Documents/Mestrado/Analises")
peic=read.csv("peic10_16_fev_2012.csv", header=T, sep=";", as.is=TRUE)
setwd("C:/Users/Gabriel/Documents/Mestrado/Analises/Fecundidade")
#chuva=read.table("chuvaAgo2011Ale-modif.txt", header=T, sep="\t", as.is=TRUE)
pl.mari=read.csv("plantulas.mari.RA.csv", header=T, sep=";", as.is=TRUE)

#retirando Restinga Baixa e formas de vida diferentes de Arvore
#chuvaparc=chuva[chuva$ambiente!="RB" & chuva$forma_vida=="Arvore",]

#especies conhecidas de arvores do PEIC presentes na chuva de sementes e plantulas (-morfoespecies)
#spchuva=sort(unique(chuvaparc$especie))
spplantulas=sort(unique(pl.mari$especie))
sppeic=sort(unique(peic$specie))

#listasp1=spplantulas[spplantulas %in% spchuva]
#listasp= sppeic[sppeic %in% listasp1]
listasp= sppeic[sppeic %in% spplantulas]
#listasp1=sppeic[match(spchuva,spplantulas,nomatch=0)]
#listasp=sppeic[match(,listasp1,sppeicnomatch=0)]
listasp
listasp=listasp[-which(listasp=="Indet")]

#SEMENTES

#a=chuvaparc[chuvaparc$especie %in% listasp, c("especie", "n.seeds")]
#tapply(a$n.seeds, a$especie, sum)
#b=data.frame(specie=listasp, n.seeds=tapply(a$n.seeds, a$especie, sum))
#dimnames(b)[[1]]=1:length(dimnames(b)[[1]])
#b[,"seeds.total"]=b[,2]/60*256
#b[,"seeds.mean"]=b[,3]/52

#PLANTULAS

pl.select=pl.mari[pl.mari$especie %in% listasp,]

alive0=tapply(pl.select$status0=="A", pl.select$especie, sum, na.rm=TRUE)
recruit1=tapply(pl.select$status0=="R", pl.select$especie, sum, na.rm=TRUE)
alive01=tapply(pl.select$status0=="A" & pl.select$status1=="A", pl.select$especie, sum, na.rm=TRUE)
recruit2=tapply(pl.select$status1=="R", pl.select$especie, sum, na.rm=TRUE)
#alive012=tapply(pl.select$status0=="A" & pl.select$status1=="A" & pl.select$status2=="A", pl.select$especie, sum, na.rm=TRUE)
recruit3=tapply(pl.select$status2=="R", pl.select$especie, sum, na.rm=TRUE)
alive0123=tapply(pl.select$status0=="A" & pl.select$status1=="A" & pl.select$status2=="A" & pl.select$status3=="A", pl.select$especie, sum, na.rm=TRUE)
#alive12=tapply(pl.select$status0=="R" & pl.select$status1=="A" & pl.select$status2=="A", pl.select$especie, sum, na.rm=TRUE)
#alive123=tapply(pl.select$status0=="R" & pl.select$status1=="A" & pl.select$status2=="A" & pl.select$status3=="A", pl.select$especie, sum, na.rm=TRUE)
#alive23=tapply(pl.select$status1=="R" & pl.select$status2=="A"  & pl.select$status3=="A", pl.select$especie, sum, na.rm=TRUE)
#pl=cbind(b, alive0,alive01,alive012, alive0123, recruit1, alive12, alive123, recruit2, alive23, recruit3)
#pl=cbind(b, alive0,alive0123, recruit1, recruit2, recruit3)
pl=data.frame(specie=listasp, alive0,alive0123, recruit1, recruit2, recruit3)
#write.table(pl, "fecundidade.txt", sep="\t")

#FECUNDIDADE ANUAL

pl[,"recruit/year"]=(pl[,"recruit1"]+pl[,"recruit2"]+pl[,"recruit3"])/21*12
pl[,"mortal/year"]=(pl[,"alive0"]-pl[,"alive0123"])/21*12
pl[,"fec/year"]=pl[,"recruit/year"]-pl[,"mortal/year"]
pl

#FECUNDIDADE INDIVIDUAL ANUAL POR DBH

stem10=peic[peic$dbh_04>=10 & peic$specie %in% listasp, c("specie","dbh_04")]
stem10=tapply(stem10$dbh_04, stem10$specie, length)
stem20=peic[peic$dbh_04>=20 & peic$specie %in% listasp, c("specie","dbh_04")]
stem20=tapply(stem20$dbh_04, stem20$specie, length)
stem30=peic[peic$dbh_04>=30 & peic$specie %in% listasp, c("specie","dbh_04")]
stem30=tapply(stem30$dbh_04, stem30$specie, length)
stem40=peic[peic$dbh_04>=40 & peic$specie %in% listasp, c("specie","dbh_04")]
stem40=tapply(stem40$dbh_04, stem40$specie, length)
stem50=peic[peic$dbh_04>=50 & peic$specie %in% listasp, c("specie","dbh_04")]
stem50=tapply(stem50$dbh_04, stem50$specie, length)
n.stem=data.frame(specie=listasp, fec.year=pl[,"fec/year"], stem10,stem20,stem30,stem40,stem50)

#numero de individuos por dbh
n.stem[,"fec.stem10"]=n.stem[,"fec.year"]/n.stem[,"stem10"]
n.stem[,"fec.stem20"]=n.stem[,"fec.year"]/n.stem[,"stem20"]
n.stem[,"fec.stem30"]=n.stem[,"fec.year"]/n.stem[,"stem30"]
n.stem[,"fec.stem40"]=n.stem[,"fec.year"]/n.stem[,"stem40"]
n.stem[,"fec.stem50"]=n.stem[,"fec.year"]/n.stem[,"stem50"]
n.stem


fecundity=n.stem[,c("specie", "fec.stem10", "fec.stem20", "fec.stem30", "fec.stem40", "fec.stem50")]

write.table(fecundity, "fecundity.csv", sep=";")

fecundity_13ago12.csv

  • 4 espécies tiveram fecundidades = zero
    1. Eugenia stigmatosa: apenas 1 indivíduo no censo de plantas
    2. Guatteria australis: recrutamento é igual a mortalidade das plantulas
    3. Ocotea dispersa: recrutamento é igual a mortalidade das plantulas
    4. Pera glabrata: recrutamento é igual a mortalidade das plantulas
  • 11 espécies tiveram fecundidades negativas (IPM trata isso como = zero)
    1. Andira anthelmia: não houve recrutamento no período, mas houve mortalidade
    2. Aparisthmium cordatum: não houve recrutamento no período, mas houve mortalidade
    3. Calophyllum brasiliense: mortalidade maior que o recrutamento
    4. Chionanthus filiformis: mortalidade maior que o recrutamento
    5. Eugenia neoglomerata: não houve recrutamento no período, mas houve mortalidade
    6. Eugenia umbelliflora: não houve recrutamento no período, mas houve mortalidade
    7. Gomidesia affinis: não houve recrutamento no período, mas houve mortalidade
    8. Ilex pseudobuxus: não houve recrutamento no período, mas houve mortalidade
    9. Ocotea pulchra: não houve recrutamento no período, mas houve mortalidade
    10. Ocotea venulosa: não houve recrutamento no período, mas houve mortalidade
    11. Posoqueria latifolia: não houve recrutamento no período, mas houve mortalidade
  • Preciso checar se a variação na fecundidade com o aumento do diâmetro selecionado da população é significativo para as espécies. COMO?

Adequei a planilha dos censos das plântulas da Mari. Mudanças:

  1. Criei uma coluna “status” para cada censo
  2. Status D para as que morreram
  3. Status A para quem estava viva em um censo
  4. Status R para o status0 quando a plantula entrou no censo1, para o status1 quando a plantula entrpu no censo2, etc.
  5. Retirei texto das colunas “Altura” (p.ex: morta, caiu árvore)
  6. Quando nenhuma plântula era encontrada, a Mari deixava uma linha vazia. Essas linhas vazias foram apagadas.
  7. Quando há a observação “caiu árvore”, considerei o status como “NA” (não há informação)
  8. Todos as alturas não coletados foram preenchidas com “NA”
  9. Os separadores decimais foram ajustados para ponto. (havia alguns com vírgula)
  10. A coluna Familia foi completada, faltavam algumas.


Vou usar os dados da chuva de sementes para calcular a fecundidade.
Temos os dados de chuva de sementes por coletor por mês.

A idéia é dividir o número de sementes de cada espécie encontrado num coletor pela área basal de todos os indivíduos da espécie no entorno do coletor.

$$ (N(X)_{col_{1}^60}) / (sum AB(X)_{col_{1}^60})

N(X) = número de sementes da espécie X

col = coletor

AB(X) = área basal de cada indivíduo da espécie X encontrado no entorno de um coletor

Obs: temos apenas sementes de 42 espécies de árvores encontradas nos coletores. Terei que inferir para as outras espécies, mas isso pode enviesar totalmente minhas análises, já que a fecundidade vai também alterar as elasticidades.

  • Uma dessas espécies é Bactris setosa. Quase todos os indivíduos dessa espécie são recrutados, portanto não têm dbh em 2004. Assim, não posso usar essa espécie no modelo integral de projeção (IPM).

TOMADA DE DECISÃO: Bactris setosa foi excluída desta primeira análise.


Procedimento:

  1. Obter a área basal total de cada espécie por subparcela com coletor.
  2. Obter o numero de sementes de cada espécies por subparcela com coletor (em 52 meses).

Algumas subparcelas têm sementes de espécies que não estão presentes nelas. Fica claro que a subparcela não indica qual espécie cai no coletor. Decidi expandir para todas as subparcelas adjacentes à subparcela com coletor. Se o coletor está no centro da subparcela (dx:10m x dy:10m), os indivíduos que estão a até 30m de distancia devem ser considerados (10+20).

TOMADA DE DECISÃO: expandir para todas as subparcelas adjacentes à subparcela com coletor

  • Com a distância de 30 metros a partir dos coletores, não havia indivíduos de Clusia criuva para um coletor. Aumentando a distância para 40m resolveu o problema.

PROBLEMA: As subparcelas que ficam próximas às arestas ou nas arestas da parcela têm uma área menor de inclusão de indivíduos.


  • /home/adalardo/farm/labtrop/data/pages/projetos/pp_peic/restrito/gabriel/fecundidade.txt
  • Última modificação: 2026/03/27 13:51
  • por 127.0.0.1