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