====== Mauro Marabesi======
Doutorando em botânica, trabalho com ecofisiologia na seção de fisiologia e bioquímica de plantas. Minha tese trata de trocas gasosas no nível foliar, demografia e fenologia foliar em diferentes fontes de N,(NO3, NH4 e NH4NO3), diferentes [NH4]e em CO2 elevado. Sou orientado pelo prof. Doutor Marcos S. Buckeridge.
===== Meus Exercícios =====
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:exercício_1.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:ex2.r|mauro_2_F.r}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:ex3.r|exercicio3.r}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:exercicio4pronto.r|exercício4}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:exercicio5.r|exercicio5}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:exercicio6.r|exercicio6}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:exe7.r|exercicio7}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:exer8.r|exercicio8}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:exercicio9.r|exercicio9}}
===== Proposta de Trabalho Final =====
==== Principal ====
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:plano_a.doc|Plano A}}
==== Plano B ====
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:plano_b.doc|Plano B}}
===== Página de Ajuda =====
des.foliar package:unknown R Documentation
Description:
Esta função calcula o desenvolvimento foliar. Este é definido como
a longevidade de cada ordem foliar e as fases de vida, (fase de
expansão, fase de maturidade e fase de senescência), expressas como
porcentagens da longevidade foliar para cada ordem foliar.
Alternativamente, a função calcula a estrutura etária desta
população de folhas ou folíolos. A estrutura etária é definida como
a frquência relativa de cada classe de idade foliar.
Usage:
des.foliar(x,fases=TRUE)
Arguments:
x dados de entrada no modelo, x deve ser um data.frame.
fases lógico. Se verdadeiro(TRUE, padrão da função) retorna
o desenvolvimento foliar. se falso (FALSE) a função retorna a
estrutura etária.
Details:
o data.frame deve conter apenas as seguintes colunas:
ordem.foliar: números inteiros, representando a ordem de
nascimento das folhas, pode ser inferida pela posição da folha no
ramo ou no caule se este for monopodial.
folíolo: números inteiros, representando o número de cada
folíolo amostrado. Se a folha for simples esta coluna pode ser
deixada em branco
nascimento: número inteiro, representando o dia de
nascimento do folíolo. Os dias são contados a partir do primeiro
censo ou do início do experimento e não como data de calendário.
expansao: número inteiro, representando o dia do final da
expansão do folíolo
senesc: número inteiro, representando o dia do início da
senescência do folíolo.
morte: número inteiro, representando o dia da morte do folíolo.
A estrututa etária é dividida em 6 classes de idades:
de 0 a 20 dias de vida,de 21 a 40 dias de vida, de 41 a 60 dias de
vida, de 61 a 80 dias de vida, de 81 a 100 dias de vida e
> 100 dias de vida.
A estrutura etária é calculada de 10 em 10 dias a partir do
vigésimo dia até o centésimo quadragésimo dia.
Value:
O desenvolvimento foliar retorna uma matriz onde as linhas são
as ordens foliares e as colunas contêm a longevidade e as fases
de vida (expressas como porcentagens da longevidade).
A estrutura etária retorna uma matriz na qual as linhas são as
classes de idades e as colunas dias de experimento ou censo.
(Os dias são contadosa partir do primeiro censo ou do início do
experimento e não como data de calendário).
Author:
Mauro Alexandre Marabesi
mauromarabesi@bol.com.br
mauromarabesi@usp.br
References:
Koike,T.(1990) Autumn coloring,photosynthetic performance and leaf
development of deciduos broad-leaved trees in relation to forest
succession. Tree Physiology 7,21-32
Kikuzawa,K.(1995) Leaf phenology as an optimal strategy for carbon
gain in plants.Can.J.Bot 73,158-163
Diemer,M. and Korner,C.(1996) Lifetime leaf carbon balances of
herbaceous perennial plants from low and high altitudes in the
central Alps. Functional Ecology 10,33-43
Exemples:
### Árvore secundária Tardia decídua###
matrix (NA,ncol=6,nrow=4)->decidua
colnames(decidua)=c("ordem.foliar","folíolo","nascimento",
"expansao","senesc","morte")
decidua[,1]<- 1:4
decidua[,2]<- 1
decidua[,3]<-c(10,12,14,15)
decidua[,4]=20+decidua[,3]
decidua[,5]<-120
decidua[,6]<-140
as.data.frame(decidua)->d
class(d)
des.foliar(d,fases=F)
des.foliar(d,fases=T)
###Árvore pioneira decídua###
matrix (NA,ncol=6,nrow=6)->pioneira
colnames(pioneira)=c("ordem.foliar","folíolo","nascimento",
"expansao","senesc","morte")
pioneira[,1]<- 1:6
pioneira[,3]<- seq(15,90,by=15)
pioneira[,4]<-c(25,35,60,80,90,100)
pioneira[,5]<-seq(80,130,by=10)
pioneira[,6]<- seq(90,140,by=10)
as.data.frame(pioneira)->p
class(p)
des.foliar(p,fases=F)
des.foliar(p,fases=T)
===== Código da função =====
des.foliar<-function (x,fases=TRUE)
{
if(fases==TRUE)
{
y=x
y$ordem.foliar<-as.factor(y$ordem.foliar)
ordem.foliares=unique(y[,"ordem.foliar"])
resultado<-matrix(NA,nrow=length(ordem.foliares),ncol=4)
rownames(resultado)=paste("ordem",1:length(ordem.foliares))
colnames(resultado)=c("Longevidade","%Expansão","%Madura","%Senescente")
longevidade=y$morte-y$nascimento
y<-data.frame(y,long=longevidade)
expansao=(y$expansao-y$nascimento)
por.exp=expansao/longevidade
y<-data.frame(y,por.exp=por.exp)
maturidade=y$senesc-y$expansao
por.mad=maturidade/longevidade
y<-data.frame(y,por.mad=por.mad)
senesc=y$morte-y$senesc
por.senesc=senesc/longevidade
y<-data.frame(y,por.senesc=por.senesc)
for (i in 1:length(ordem.foliares))
{
resultado[i,1]=round(mean(y[y$ordem.foliar==i,7],na.rm=T),2)
}
for (i in 1:length(ordem.foliares))
{
resultado[i,2]=round(mean(y[y$ordem.foliar==i,8],na.rm=T),2)
}
for (i in 1:length(ordem.foliares))
{
resultado[i,3]=round(mean(y[y$ordem.foliar==i,9],na.rm=T),2)
}
for (i in 1:length(ordem.foliares))
{
resultado[i,4]=round(mean(y[y$ordem.foliar==i,10],na.rm=T),2)
}
return (resultado)
}
else
{
x->b
b$morte[is.na(b$morte)==T]
w<-c(seq(20,140,by=10))
resul=matrix(NA,ncol=length(w),nrow=6)
colnames(resul)=c(w)
rownames(resul)=c("0 a 20 dias","21 a 40 dias","41 a 60 dias","61 a 80 dias","81 a 100 dias","> 100 dias")
longevidade.1<-b$morte-b$nascimento
res=matrix(NA,nrow=dim(b)[1],ncol=length(w))
for(i in 1:length(w))
{
res[,i]=w[i]-b$nascimento
}
for(i in 1:length(w))
{
resul[1,i]=sum(res[,i]<=20 & res[,i]>0&res[,i]<=longevidade.1)/sum(res[,i]>0&res[,i]<=longevidade.1)
resul[2,i]=sum(res[,i]<=40 & res[,i]>20&res[,i]<=longevidade.1)/sum(res[,i]>0&res[,i]<=longevidade.1)
resul[3,i]=sum(res[,i]<=60 & res[,i]>40&res[,i]<=longevidade.1)/sum(res[,i]>0&res[,i]<=longevidade.1)
resul[4,i]=sum(res[,i]<=80 & res[,i]>60&res[,i]<=longevidade.1)/sum(res[,i]>0&res[,i]<=longevidade.1)
resul[5,i]=sum(res[,i]<=100 & res[,i]>80&res[,i]<=longevidade.1)/sum(res[,i]>0&res[,i]<=longevidade.1)
resul[6,i]=sum(res[,i]>100&res[,i]<=longevidade.1)/sum(res[,i]>0&res[,i]<=longevidade.1)
}
round(resul,2)->a
return(a)
}
}
===== Script da função====
{{:bie5782:01_curso_atual:alunos:trabalho_final:mauromarabesi:desenvolvimento_foliar_e_estrutura_etaria_ii.r|des.foliar}}
===== Comentários =====
Maraba, tanto o plano A quanto o B são um desafios interessante de manipulação dos dados. Isso é poderoso no R e não é trivial. A principio me parece que o plano B oferece um desafio maior. Comece pelo plano B e se houver tempo inclua o plano A como uma opção de argumento na função.
--- //[[adalardo@usp.br|Alexandre Adalardo de Oliveira]] 2010/03/31 10:43//