[R-br] RES: Criar função para tirar a média entre grupos sob condições dadas

ASANTOS alexandresantosbr em yahoo.com.br
Sábado Janeiro 30 18:00:29 BRST 2016


Obrigado Éder,

         Na verdade não tinha atentado a isso, mas agora deu outro erro, 
sendo:

Error in apply(results, 1, function(x) { :
   dim(X) must have a positive length
 > str(tableFE99)
Error in head(tableFE99) : objeto 'tableFE99' não encontrado


         O CRM que estou usando é:

### <code r>
require(RCurl); require(XML)

##  Função de leitura da tabela
readFE<- function (x, URL = ""){
url0 <- URL
url1 <- gsub("(^.*)(/s/.*)(\\?.*$)", 
"https://dl.dropboxusercontent.com\\2", url0); url1
page <- getURL(url1)
classes <- c(rep("factor", 6), rep("numeric", 4), "factor")
tableFE <- readHTMLTable(page, head=T, colClasses=classes)[[1]]
      x<-NULL
      results <- x
      results <- x
results<-results[!apply(results,1,function(x){any(x=="(NULL)")}),]
      results<-subset(results, !(latitude == "0.00000000" | longitude == 
"0.00000000"))
      results
}
#--#

## Tentativa de leitura da tabela
tableFE99<-readFE(URL="https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1")
str(tableFE99)
### </code>







-- 
======================================================================
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:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
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 30/01/2016 14:43, Éder Comunello escreveu:
> Senhores, boa tarde!
>
> Na forma que sugeri é necessário alterar o link "default" do dropbox 
> pra acessar diretamente o arquivo.
>
> ### <code r>
> require(RCurl); require(XML)
> url0 <- 
> "https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1"
> url1 <- gsub("(^.*)(/s/.*)(\\?.*$)", 
> "https://dl.dropboxusercontent.com\\2", url0); url1
>
> page <- getURL(url1)
> # page <- getURL(url1, ssl.verifypeer = FALSE)
> classes <- c(rep("factor", 6), rep("numeric", 4), "factor")
> tableFE <- readHTMLTable(page, head=T, colClasses=classes)[[1]]
> str(tableFE)
> ### </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 30 de janeiro de 2016 12:17, Paulo Nogueira Starzynski 
> <paulons em gmail.com <mailto:paulons em gmail.com>> escreveu:
>
>     Alexandre,
>     no teste que fiz aqui, o problema é na leitura da tabela. A função
>     getURL não está retornando conteúdo que a função readHTMLTable
>     possa extrair.
>
>     >URL="https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1"
>     > page <- RCurl::getURL(URL) > page [1] "<html>\r\n  <head><title>Found</title></head>\r\n  <body>\r\n    <h1>Found</h1>\r\n    <p>The resource was found at <a href=\"https://dl.dropboxusercontent.com/content_link/tkauy9obP7pgxKYpb9j5ZR2LCSUTe2iJpaULTWEN4RzdfR6AtirbNWGtt8q9Ncex/file?dl=1\
>     <https://dl.dropboxusercontent.com/content_link/tkauy9obP7pgxKYpb9j5ZR2LCSUTe2iJpaULTWEN4RzdfR6AtirbNWGtt8q9Ncex/file?dl=1%5C>">https://dl.dropboxusercontent.com/content_link/tkauy9obP7pgxKYpb9j5ZR2LCSUTe2iJpaULTWEN4RzdfR6AtirbNWGtt8q9Ncex/file?dl=1</a>;\r\nyou should be redirected automatically.\r\n\r\n<!--  --></p>\r\n    <hr noshade>\r\n    <div align=\"right\">WSGI Server</div>\r\n  </body>\r\n</html>\r\n"
>
>
>     Abraços,
>     Paulo
>
>     Em 30 de janeiro de 2016 12:16, ASANTOS
>     <alexandresantosbr em yahoo.com.br
>     <mailto:alexandresantosbr em yahoo.com.br>> escreveu:
>
>         Bom dia Éder,
>
>
>                Tentei criar uma função com os comandos de leitura da
>         tabela em HTML e também não funfou, posso pedir novamente sua
>         ajuda, Obrigado,
>
>
>
>         ##  Função de leitura da tabela
>         readFE<- function (x, URL = ""){
>
>         page <- getURL(URL)
>         classes <- c(rep("factor", 6), rep("numeric", 4), "factor")
>         tableFE <- readHTMLTable(page, head=T, colClasses=classes)[[1]]
>              x<-NULL
>              results <- x
>              results <- x
>         results<-results[!apply(results,1,function(x){any(x=="(NULL)")}),]
>              results<-subset(results, !(latitude == "0.00000000" |
>         longitude == "0.00000000"))
>              results
>         }
>         #--#
>
>
>
>
>
>         ## Tentativa de leitura da tabela
>         tableFE<-readFE(URL="https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1"
>         <https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1>)
>         head(tableFE)
>         #---------------
>
>
>
>
>         -- 
>         ======================================================================
>         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:alexandresantosbr em yahoo.com.br
>         <mailto:e-mails:alexandresantosbr em yahoo.com.br>  
>                  alexandre.santos em cas.ifmt.edu.br
>         <mailto:alexandre.santos em cas.ifmt.edu.br>  
>         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
>         ======================================================================
>
>         Em 29/01/2016 08:41, Éder Comunello escreveu:
>>         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]
>>
>>
>>
>
>
>         _______________________________________________
>         R-br mailing list
>         R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>         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
>     R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>     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
> R-br em listas.c3sl.ufpr.br
> 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.

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160130/87507da0/attachment.html>


Mais detalhes sobre a lista de discussão R-br