
Alexandre, bom dia! Não havia atentado para o problema na importação das tabelas, sendo necessário definir as classes. Além disso, na função você deve se referir a "db" antes que "tableFE" e "x" é definido internamente por lapply(). ### <code r> require(RCurl); require(XML) url0 <- "https://www.dropbox.com/s/znmr0lwda2y6fc5/BD_teste2.html?dl=1" url1 <- gsub("(^.*)(/s/.*)(\\?.*$)", "https://dl.dropboxusercontent.com\\2", url0); url1 # [1] "https://dl.dropboxusercontent.com/s/znmr0lwda2y6fc5/BD_teste2.html" page <- getURL(url1) tableFE <- readHTMLTable(page, head=T)[[1]] str(tableFE) ### todas variáveis estão como fatores - corrigir! classes <- c(rep("factor", 6), rep("numeric", 4), "factor") tableFE <- readHTMLTable(page, head=T, colClasses=classes)[[1]] str(tableFE) ### OK! head(tableFE) ##Agregando os resultados aggPestFE <- function(db=tableFE, key="descricao"){ lista <- split(db, db[key]) result <- lapply(lista, function(x) aggregate(x[,7:8], by=list(x[,3],x[,2],x[,5]), mean)) return(result) } ### Devido aos "defaults", obtém mesmos resultados nas três formas que seguem: aggPestFE()[5] aggPestFE(tableFE)[5] aggPestFE(tableFE, "descricao")[5] # $`Lagartas Desfolhadoras` # Group.1 Group.2 Group.3 formiga_area qtd_destruido # 1 GN Chale 26 0 62.5 # 2 RD Corrego da Coruja 26 0 50.0 # 3 GN Aeroporto II 28 0 75.0 ### </code> ================================================ Éder Comunello PhD Student in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]