
Senhores, boa noite! Sugiro deixar o procedimento de leitura a parte, isso porque talvez seja necessário reavaliar seus filtros. ### <code r> ## Função para leitura da tabela HTML readFE <- function(url0){ require(RCurl); require(XML) url1 <- gsub("(^.*)(/s/.*)(\\?.*$)", "https://dl.dropboxusercontent.com\\2", url0); url1 page <- getURL(url1) # page <- getURL(url1, ssl.verifypeer = FALSE) ### SSL certificate problem classes <- c(rep("factor", 6), rep("numeric", 4), "factor") return(readHTMLTable(page, head=T, colClasses=classes)[[1]]) } tableFE99 <- readFE(" https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1") str(tableFE99) ### "filtragem" na forma que você propôs... results <- tableFE99[!apply(tableFE99,1,function(x){any(x=="(NULL)")}),]; results results <- subset(results, !(latitude == 0 | longitude == 0)); results nrow(results) ### 48 ### Linha 24 foi eliminada, mas poderia ser aproveitada com base na linha 25 (mesma lat/long?) tableFE99[24:25,] ### talvez fosse melhor restringir a busca por dados "inválidos" somente em algumas variáveis new <- readFE(" https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1") new[new == "(NULL)"] <- NA incompl <- which(!complete.cases(new[,c(2,3,5,6)])) new[incompl,] ### </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] 2016-01-31 12:04 GMT-03:00 ASANTOS <alexandresantosbr@yahoo.com.br>:
Obrigado Paulo,
Tinham inconsistências no meu código que foram corrigidos com suas dicas, porém a segunda função results<-subset(results,!(latitude == "0.00000000" | longitude == "0.00000000")) ele não roda e continua a aparecer coordenadas 0, sendo:
### <code r> require(RCurl); require(XML)
## Função de leitura da tabela readFE<- function (x, URL = ""){ x<-NULL 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]] results<-tableFE 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" <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@yahoo.com.br alexandre.santos@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 31/01/2016 10:48, Paulo Nogueira Starzynski escreveu:
### <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> 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" <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@yahoo.com.br alexandre.santos@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> 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>
_______________________________________________ R-br mailing list R-br@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.