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:[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 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
<[email protected] <mailto:[email protected]>> 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
<[email protected]
<mailto:[email protected]>> 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:[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
======================================================================
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
[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] <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.