__**Função final:**__ **Help** biomassa.bd package: nenhum R Documentation Cálculo da biomassa de árvores da floresta atlântica Descrição: Calcula a equação de biomassa de árvores de floresta de mata atlântica, a partir das circunferências e alturas dos individuos vegetais localizados em um data.frame e difencia esses resultados para cada tipo de estágio de floresta (inicial e intermediária-tardia). Segundo as necessidades do usuário, também gera de forma opcional um gráfico básico de diagnóstico (boxplot) e um modelo de regressão linear. Uso: biomassa.bd<-function(x,y,z,grafico=T) Argumentos: x: variável de classe numérica. Faz referência a uma coluna com dados contida em um data.frame, os quais correspondem a medidas de circunferência das árvores em formato centímetro (cm). y: variável de classe numérica. Faz referência a uma coluna com dados contida em um data.frame, os quais correspondem a medidas de altura das árvores em formato metros (m). z: variável de classe factor. Faz referência a outra coluna contida em um data.frame, cujos valores correspondem a um tipo de estágio de floresta. grafico: base para geração de gráfico. No caso (TRUE) gerará um boxplot e o modelo de regressão linear, se (FALSE) não gerará os gráficos. Detalhes: Para que os cálculos das equações e a geração dos gráficos sejam realizados corretamente, o preenchimento dos dados no data.frame deverão seguir as seguintes pautas: -O data.frame deve apresentar valores em todas as linhas. Se houvesse presência de NAs, a função não se efetua. -A coluna com os valores que apresentem as categorias dos estagios sucessionais terá que estar nomeada como "estagios" na planilha que será importada ao software R. Como parte do resultado, a função retornará um data.frame com as variáveis na seguinte ordem: "Estagios", "Circunferencia", "Altura", "DAP", "Biomassa". Valor: Se grafico=T, a função gera um gráfico boxplot que analisa a biomassa para cada tipo de estágio de floresta e um modelo de regressão linear que relaciona o DAP calculado com a altura para cada indivíduo vegetativo e retorna um data.frame com duas colunas adicionadas, resultado dos cálculos das equações. Se gráfico=F, a função retornará apenas o data.frame. As duas colunas a ser adicionadas correspondem a: DAP resultado da equação do DAP na unidade (cm): DAP = circunferência/pi Biomassa resultado da equação proposta por Burger & Delitti (2008) nas unidades (Mg/hectare) para calcular a biomassa de árvores na floresta de mata atlântica: LnDW = -3.676+0.951Lnd^2h Avisos: A função é interrompida quando os argumentos "x" e "y" não são da classe numérica e/ou o argumento "z" da classe factor. Quando a função gera o data.frame, retornará o aviso de se os gráficos são ou não gerados, dependendo da opção do argumento "gráfico" que o usuario escolheu. Os cálculos das equações DAP e Biomassa são realizados independientemente da quantidade de parâmetros disponíveis no data.frame, mas o usuário deve adequar as colunas que corresponderiam aos argumentos "x", "y" e "z" na planilha antes de importá-la para o software R. Para que o cálculo seja realizado corretamente, o argumento "x" terá que corresponder na planilha à coluna dos dados referente à circunferência em formato cm, o argumento "y" corresponderá à coluna da altura em metros e, o argumento "z", à coluna das categorias dos estágios sucessionais da floresta em estudo. A função realizará a transformação da escala métrica do resultado da Biomassa de kg por metro cuadrado diretamente a Mg por hectare, como recomendado por Burger & Delitti (2008). Autora: Susana López Caracena - Instituto de Biociências USP selc@usp.br Referências: -Burger, D.M. & Delitti, W.B.C. 2008. Modelos alométricos para estimativa de fitomassa de Floresta Atlântica secundária no sudeste do Brasil. Biota Neotrop., 8(4) Exemplo 1: dados<-read.csv("dados_fun.csv", sep=";",dec=",") #Importa-se a planilha exemplo "dados" x<-dados$circunferencia #Objeto x recebe os valores que correspondem à coluna dos dados da circunferência (cm) da planilha exemplo "dados" y<-dados$altura #Objeto y recebe os valores que correspondem à coluna dos dados da altura (m) da planilha z<-dados$estagios #Objeto z recebe as categorias que correspondem à coluna dos estágios sucessionais da floresta em estudo da planilha biomassa.bd(dados$circunferencia,dados$altura, dados$estagios, grafico="T") #Testa-se a função, indicando a opção de retorno do fataframe com gráficos Exemplo 2: dados<-read.csv("dados_fun.csv", sep=";",dec=",") x<-dados$circunferencia y<-dados$altura z<-dados$estagios biomassa.bd(dados$circunferencia,dados$altura, dados$estagios, grafico="F") #Testa-se a função, indicando a opção de retorno do fataframe sem gráficos. **Código** Para testar a função, por favor salve o arquivo: {{:bie5782:01_curso_atual:alunos:trabalho_final:selc:funcao_final:dados_fun.csv|}} biomassa.bd<-function(x,y,z,grafico=F) { if(class(x)!="numeric") stop ("x precisa ser da classe numérica") #A função avisará se a variável "x" não é de classe numérica, neste caso a função dará o seguinte aviso: "x precisa ser da classe numérica" if(class(y)!="numeric") stop ("y precisa ser da classe numérica") #A função avisará se a variável "y" não é de classe numérica, neste caso a função dará o seguinte aviso: "y precisa ser da classe numérica" if(class(z)!="factor") stop ("z precisa ser da classe factor") #A função avisará se a variável "z" não é de classe numérica, neste caso a função dará o seguinte aviso: "z precisa ser da classe factor" { #Abro chave onde será escrita a função if(grafico=="T") #Utilizo o comando if com o opcional else para executar códigos de maneira condicional. Dentro do parênteses conterá uma condição lógica, que terá como resultado TRUE para que a função gere os gráficos boxplot e o modelo de regressão linear { #Abro chave onde será escrito o bloco de códigos que será executado se a condição do parênteses for TRUE cat("\t Os gráficos são gerados\n") #No caso de que na função seja escrito grafico=T, o resultado da função dará o seguinte aviso: "Os gráficos são gerados" dap <- (x/pi) #Equação para calcular o DAP (diámetro à altura do peito) a partir da circunferência "x" biomas <- exp(-3.676+0.951*log(dap^2*y)) #Cálculo da equação de biomassa (Burger&Delitti,2008), com as informações de DAP e altura "y". Equação: LnDW = -3.676+0.951LnD^2h biomassa <- biomas*10 #O resultado da equação da biomassa dado em kg/m2 é transformado nas unidades de Mg/hectare resultado <- data.frame(z, x, y, dap, biomassa) #Incluimos que sejam adicionadas ao dataframe existente as novas informações calculadas (DAP e biomassa) colnames(resultado) <- c("Estagios","Circunferencia", "Altura", "DAP","Biomassa") #Nomeamos novamente os objetos do dataframe par(mfrow=c(1,2)) #Utilizo a função par para construir uma figura onde apareça o gráfico boxplot e o modelo de regressão linear par(bty="l", family="serif", tcl=0.4) boxplot(resultado$Biomassa~resultado$Estagios, ylab = "Biomassa", names = (levels(dados$estagios))) #Gero o gráfico boxplot para apresentar a biomassa por categorias de estágio de floresta (inicial e intermediária-tardia) plot(dap~y, bty="l", tcl=0.3, xlab = "Altura" ,ylab = "DAP") #Plota "DAP" em função da altura "y" m.lin<-lm(dap~y) #Gera o modelo de regressão linear através da funçao lm abline(m.lin, col="red", lwd = 2) #Com a função abline gera a reta da função return(resultado) #Gera o dataframe com as novas colunas calculadas (DAP e biomassa) e cria os dois gráficos }else #O opcional else executará os comandos que não gerarão gráficos no caso de que a condiçã seja FALSE { #Abro chave onde será escrito o bloco de códigos que serão executados se a condição do parênteses for FALSE cat("\tOs gráficos não são gerados\n") #No caso de que na função seja escrito grafico=F, o resultado da função dará o seguinte aviso: "Os gráficos não são gerados" dap <- (x/pi) #Equação para calcular o DAP biomas <- exp(-3.676+0.951*log(dap^2*y)) #Cálculo da equação de biomassa (Burger&Delitti,2008) biomassa <- biomas*10 #O resultado da equação é transformado nas unidades de Mg/hectare resultado <- data.frame(z, x, y, dap, biomassa) #Incluimos que sejam adicionadas ao dataframe existente as novas informações calculadas (DAP e biomassa) colnames(resultado) <- c("Estagios","Circunferencia", "Altura", "DAP","Biomassa") #Nomeamos novamente os objetos do dataframe return(resultado) #Fecha a função biomassa.bd() mostrando o dataframe com as novas coluna na tabela }}}