Éder,

A sua solução não funcionou com meu exemplo real e não consigo achar o problema, sendo que:

##  Função de leitura do banco de dados
readFE<- function (x, URL = ""){
FILE <- GET(url=URL)
     tables <- getNodeSet(htmlParse(FILE), "//table")
     FE_tab <- readHTMLTable(tables[[1]],
                        header = c("empresa","desc_projeto","desc_regiao",
"cadastrador_por","cod_talhao","descricao",
"formiga_area","qtd_destruido","latitude",
                                   "longitude","data_cadastro"),
colClasses = c("character","character","character",
"character","numeric","character",
"numeric","numeric","numeric",
                                       "numeric","character"),
                        trim = TRUE, stringsAsFactors = FALSE
)
     x<-NULL
     results <- x
     x<-FE_tab[-(1),]
     results <- x
results<-results[!apply(results,1,function(x){any(x=="(NULL)")}),]
     results
}
#--#
tableFE<-readFE(URL="https://www.dropbox.com/s/znmr0lwda2y6fc5/BD_teste2.html?dl=1";)
tableFE<-tableFE[1:163,1:11]
head(tableFE)

##Agregando os resultados
lista <- split(tableFE, tableFE$descricao)
lapply(lista, function(x) aggregate(x[,7:8], by=list(x[,2]), mean)) ## Não funciona


mas se eu faço item por item funciona e não sei porque, sendo:

aggregate(lista$`Psilideo-de-Concha`[,7:8], by=list(lista$`Psilideo-de-Concha`[,2],lista$`Psilideo-de-Concha`[,5]), mean)

Poderia me dar mais um help?

Obrigado,

Abraços

--
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:[email protected]
        [email protected]
Lattes: http://lattes.cnpq.br/1360403201088680
OrcID: orcid.org/0000-0001-8232-6722
Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10
LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635
======================================================================

Em 21/01/2016 13:37, Éder Comunello escreveu:
Senhores, boa tarde!

Também não entendi direito. Mas talvez a ideia abaixo possa fazer algum sentido...

### <code r>
tableFE <- structure(list(Bichos = structure(c(2L, 1L, 3L, 1L, 3L, 2L, 3L,
2L, 1L, 3L, 1L, 3L, 2L, 3L, 3L), .Label = c("Barata", "Besouros",
"Formiga"), class = "factor"), Talhao = c(73, 15, 74, 75, 15,
15, 15, 73, 15, 15, 73, 15, 73, 74, 74), Projeto = structure(c(1L,
3L, 2L, 1L, 3L, 2L, 1L, 3L, 2L, 1L, 3L, 2L, 1L, 3L, 2L), .Label = c("Abre Campo",
"Vitoria", "Volta Redonda"), class = "factor"), Injuria = c(25,
100, 0, 25, 0, 100, 0, 50, 25, 0, 25, 0, 25, 0, 0), Area = c(0,
0, 12.5, 0, 7.5, 0, 1.5, 0, 0, 23.8, 0, 5.3, 0, 2, 11.3)), .Names = c("Bichos",
"Talhao", "Projeto", "Injuria", "Area"), row.names = c(NA, -15L
), class = "data.frame")

lista <- split(tableFE, tableFE$Bichos); lista

lapply(lista, function(x) aggregate(x[,4:5], by=list(x$Projeto), mean))
# $Barata
#         Group.1 Injuria Area
# 1    Abre Campo    25.0    0
# 2       Vitoria    25.0    0
# 3 Volta Redonda    62.5    0
#
# $Besouros
#         Group.1 Injuria Area
# 1    Abre Campo      25    0
# 2       Vitoria     100    0
# 3 Volta Redonda      50    0
#
# $Formiga
#         Group.1 Injuria  Area
# 1    Abre Campo       0 12.65
# 2       Vitoria       0  9.70
# 3 Volta Redonda       0  4.75
### </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]




Em 21 de janeiro de 2016 11:41, Manoel Galdino <[email protected] <mailto:[email protected]>> escreveu:

    Eu não entendi o que você quer fazer. No seu exemplo, o primeiro
    elemento é besouro, mas você retornou barata.

    Os valores de talhao e area nnao parecem bater com os dados do seu
    exemplo. Como para Formiga o talhão de volta redonda seria 73, se
    na base original os valores são 74 e 15?

    Abc
    Manoel

    > tableFE

         Bichos Talhao       Projeto Injuria Area
      Besouros     73    Abre Campo      25  0.0
        Barata     15 Volta Redonda     100  0.0
      Formiga     74       Vitoria       0 12.5
       Barata     75    Abre Campo      25  0.0
      Formiga     15 Volta Redonda       0  7.5
      Besouros     15       Vitoria     100  0.0
       Formiga     15    Abre Campo       0  1.5
      Besouros     73 Volta Redonda      50  0.0
       Barata     15       Vitoria      25  0.0
      Formiga     15    Abre Campo       0 23.8
       Barata     73 Volta Redonda      25  0.0
      Formiga     15       Vitoria       0  5.3
     Besouros     73    Abre Campo      25  0.0
      Formiga     74 Volta Redonda       0  2.0
      Formiga     74       Vitoria       0 11.3

    Mas seus resultados não têm a média

    2016-01-21 11:07 GMT-02:00 ASANTOS <[email protected]
    <mailto:[email protected]>>:

        Caros listeiros,


           Estou tentando criar uma função aggPestFE que para uma
        primeira variável se for "Formiga", vai tirar a media da
        coluna 5, mas se for "Besouros" ou "Barata" vai tira a média
        da coluna 4. Sendo que quero o resultado dado em forma de
        list, ficando o meu resultado:

        [[1]]
        [1] "Barata"

        [[1]][[3]]
                Projeto Talhao Injuria(%)
        1    Abre Campo     15        25
        2 Volta Redonda     73        0
        3       Vitoria     74        50


        [[2]]
        [1] "Besouros"

        [[1]][[3]]
                Projeto Talhao Injuria(%)
        1    Abre Campo     15        0
        2 Volta Redonda     73        25
        3       Vitoria     74        50

        [[2]]
        [1] "Formiga"

        [[1]][[3]]
                Projeto Talhao   Area  (m2)
        1    Abre Campo     15        12.5
        2 Volta Redonda     73        1.5
        3       Vitoria     74        23.8


                   Para isso estou tentando:


        ##Dados artificiais

        
Bichos<-c("Besouros","Barata","Formiga","Barata","Formiga","Besouros","Formiga",
        
"Besouros","Barata","Formiga","Barata","Formiga","Besouros","Formiga","Formiga")

        Talhao<-c(73,15,74,75,15,15,15,73,15,15,73,15,73,74,74)


        Projeto<-c("Abre Campo", "Volta Redonda","Vitoria","Abre
        Campo", "Volta Redonda",
        "Vitoria","Abre Campo", "Volta Redonda","Vitoria","Abre
        Campo", "Volta Redonda",
        "Vitoria","Abre Campo", "Volta Redonda","Vitoria")

        Injuria<-c(25,100,0,25,0,100,0,50,25,0,25,0,25,0,0)



        Area<-c(0,0,12.5,0,7.5,0,1.5,0,0,23.8,0,5.3,0,2.0,11.3)


        tableFE<-data.frame(Bichos, Talhao, Projeto, Injuria, Area) ##
        Banco de dados criado


        ##Função

        aggPestFE<-function(x, db=tableFE){


        mylist <- list()




             if (tableFE[,1] != "Formigas") {

                for (i in length(tableFE[,1])){

        GP_FE2<-tableFE[tableFE[,1]==tableFE[i],]
                aggdata <-aggregate(GP_FE2[,4],
        list(GP_FE2[,3],GP_FE2[,2]), mean)
        colnames(aggdata)<-c("Regional","Projeto","Talhão","Injúria
        média (%)")
                tmp <- list(aggdata)
                mylist[NPRAGS[i]] <- tmp
                result<-mylist
                return(result)
                }


             else if (tableFE[,1] == "Formigas") {

                GP_FE2<-[tableFE[,1]
                aggdata <-aggregate(GP_FE2[,5],
        list(GP_FE2[,3],GP_FE2[,2]), mean)
        colnames(aggdata)<-c("Regional","Projeto","Talhão","Injúria
        média (%)")
                tmp <- list(aggdata)
                mylist[NPRAGS[i]] <- tmp
                result<-mylist
                return(result)
                }
                }

        RES<-list(result,aggdata3)
        result<-RES
        return(result)
        }


        #Teste
        aggPestFE(tableFE)
        #

           Sem sucesso, alguém poderia me ajudar?

        Obrigado e abraços,






-- ======================================================================
        Alexandre dos Santos
        Proteção Florestal
        IFMT - Instituto Federal de Educação, Ciência e Tecnologia de
        Mato Grosso
        Campus Cáceres
        Caixa Postal 244
        Avenida dos Ramires, s/n
        Bairro: Distrito Industrial
        Cáceres - MT                      CEP: 78.200-000
        Fone: (+55) 65 8132-8112 <tel:%28%2B55%29%2065%208132-8112>
        (TIM) (+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-6970> (VIVO)
        e-mails:[email protected]
        <mailto:e-mails%[email protected]>
        [email protected]
        <mailto:[email protected]>
        Lattes: http://lattes.cnpq.br/1360403201088680
        OrcID: orcid.org/0000-0001-8232-6722
        <http://orcid.org/0000-0001-8232-6722>
        Researchgate:
        https://www.researchgate.net/profile/Alexandre_Santos10
        LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635
        ======================================================================

        _______________________________________________
        R-br mailing list
        [email protected] <mailto:[email protected]>
        https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
        Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
        fornea cdigo mnimo reproduzvel.




-- Manoel Galdino
    https://sites.google.com/site/galdinomcz/

    _______________________________________________
    R-br mailing list
    [email protected] <mailto:[email protected]>
    https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
    Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
    forneça código mínimo reproduzível.




_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo 
m�nimo reproduz�vel.

_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo 
m�nimo reproduz�vel.

Responder a