====== Os argumentos, ainda... ====== {{tag>}} ~~DISCUSSION~~ Olá Paulo, desculpe ainda incomodar com isso, no último dia, mas não consigo avançar... Se puder, veja a tentativa que fiz (tirando os NA´s e usando os if´s): ab <- function (dados, dap0, dap1, das0, das1, pap0, pap1) { if(dap0!=NULL) { dados.dap=dados[dados$dap0,] dados$ab.dap0=(pi*(dados.dap^2))/4 } if(das0!=NULL) { dados.das=dados[dados$das0,] dados$ab.das0=(pi*(dados.das^2))/4 } if(pap0!=NULL) { dados.pap=dados[dados$pap0,] dados$ab.pap0=(dados.pap^2)/(4*pi) } return(area.basal) } Aparentemente funciona, pois ele lê a função toda. Mas para testar, usei o objeto "demogr" e digitei isso na linha de comando: ab(demogr, dap0=T, dap1=F, das0=T, das1=F, pap0=T, pap1=F) Apareceu a seguinte mensagem de erro: Erro em if (dap0 != NULL) { : argumento tem comprimento zero Provavelmente estou usando os argumentos lógicos errado, mas não consegui detectar o erro. Obrigada!