====== Trabalho Final ====== === Arquivo Da Função === {{:bie5782:01_curso_atual:alunos:trabalho_final:moreno_pereira:funcao_bci.r|Função BCI}} === Código da Função === #####FUNÇÃO BCI por Moreno Pereira ############# ########################################################## ########################################################## BCI<-function(baleias, ad=TRUE, Megaptera=FALSE, rmNA=FALSE) #Nomeando a função e seus argumentos { if(class(baleias)!="data.frame") #verificia se o objeto é um data.frame { stop("o objeto não é um data.frame") #para a função e emite o aviso que a classe não é data.frame } if(ncol(baleias) < 5) # Verifica o número de colunas do data frame { stop("número de colunas insuficiente") #emite aviso caso o número de colunas não seja o suficiente } if(is.null(baleias$Especie)) # verifica se a tabela de dados nao posui uma coluna chamada "Especie" { stop("seu objeto precisa da coluna Especie") #emite um aviso de que o objeto precisa da coluna "Especie" } if (length(baleias[,3])!=length(baleias[,4])) #verifica se as colunas tem mesmo comprimento { stop("as colunas não possuem o mesmo tamanho") #emite aviso caso não tenham mesmo comprimento } if(Megaptera==TRUE) #caso o usuário queira calcular o índice apenas para o gênero do artigo base (Megaptera) { baleias<-baleias[which(baleias$Especie=="Megaptera"),] #recria o objeto apenas com o gênero Megaptera } if(rmNA==TRUE) # se o data.frame tiver NAs para serem removidos { baleias <- (na.omit(baleias)) # cria o objeto novamente sem NA } ######calculo de BCI#### baleias[,2]<-as.factor(baleias[,2]) #transforma a coluna de individuos na classe de fatores cond<-tapply(baleias[,3]/2*baleias[,4]+baleias[,5],baleias[,2],FUN=sum)#calcula a condição corporal dos animais adultos<-cond[which(cond>8)] #coloca no objeto adultos apenas animais com BCI maiores que 8 imaturos<-cond[which(cond<8)] #coloca no objeto imaturos apenas animais com BCI menores que 8 if(ad==TRUE){return(adultos) #retorna apenas a classe adultos caso o usuário queira trabalhar só com esssa classe } else{ return(imaturos) #retorna apenas a classe imaturos caso o usuário queira trabalhar só com esssa classe }} ===Arquivo Help da função=== {{:bie5782:01_curso_atual:alunos:trabalho_final:moreno_pereira:help_funcao.docx|Help BCI}} {{:bie5782:01_curso_atual:alunos:trabalho_final:moreno_pereira:help_bci.txt|Help BCI}} === Página de Help da função BCI=== BCI package:unknown R Documentation ÍNDICE DE CONDIÇÃO CORPÓREA EM CETÁCEOS (BCI) Description: A função calcula o índice de condição corpórea (Body Condition Index) de grandes cetáceos (a partir de medidas feitas por sobrevoo de drones) e classifica os animais em adultos ou imaturos de acordo com esse índice. Usage: BCI (baleias, ad=TRUE, Megaptera=FALSE, rmNA=FALSE) Arguments: baleias: objeto da classe data.frame que contenha pelo menos 5 colunas de dados ad: argumento lógico. Se TRUE retorna um array com os indivíduos da classe adulto e seus respectivos índices. Se FALSE retorna um array com os indivíduos da classe imaturo e seus respectivos índices Megaptera: argumento lógico. Se TRUE irá trabalhar apenas com os animais do gênero do artigo base (Megaptera). Se FALSE irá trabalhar com todos os gêneros disponíveis na planilha rmNA: argumento lógico. Se TRUE exclui as linhas contendo NAs. Se FALSE mantém as linhas com NAs nos cálculos Details: O cálculo de índice de condição corpórea é feito dividindo a superfície do corpo do animal em segmentos trapezoidais e fazendo a somatória da área desses segmentos. Sendo assim o data.frame precisa de medidas especificas em metros para serem realizados os cálculos Como a função trabalha com medidas específicas é necessário que o objeto de entrada data.frame contenha nas colunas 3, 4 e 5 as medidas de altura, base menor e base maior do segmento trapezoidal respectivamente para o cálculo correto das áreas e dos índices. O data.frame também deve conter uma coluna chamada “Especie” para que o usuário possa utilizar o argumento “Megaptera”. Value: Retorna um array com a classe, os indivíduos e seus respectivos índices de condição corpórea. Warning: Caso a data frame não contenha uma coluna chamada “Especie” a função não irá ser executada, bem como se as colunas não tiverem o mesmo comprimento ou se o número de colunas do data.frame for menor do que 5. Author(s): Moreno Pereira Email: moreno_pereira@hotmail.com References: Christiansen, F., A. M. Dujon, K. R. Sprogis, J. P. Y. Arnould, and L. Bejder. 2016. Noninvasive unmanned aerial vehicle provides estimates of the energetic cost of reproduction in humpback whales. Ecosphere 7(10):e01468. 10.1002/ecs2.1468 See Also: Como é calculado o índice de condição corpórea na página 6 do artigo acima Examples: #Exemplo com saída apenas de “imaturos” BCI (dados, ad=FALSE, Megaptera=TRUE, rmNA=FALSE) #Exemplo utilizando todas as espécies dos dados BCI (dados, ad=FALSE, Megaptera=FALSE, rmNA=FALSE) ===Arquivo para testar a função=== {{:bie5782:01_curso_atual:alunos:trabalho_final:moreno_pereira:tester.csv|Arquivo para testar a função BCI}}