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

Éder Comunello comunello.eder em gmail.com
Domingo Janeiro 31 20:53:43 BRST 2016


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 em 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 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 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 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>
> 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 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/20160131/af7011b7/attachment.html>


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