[R-br] Problema com datas que se tornam numéricas [RESOLVIDO]
ASANTOS
alexandresantosbr em yahoo.com.br
Terça Fevereiro 2 11:48:22 BRST 2016
Obrigado Éder, resolveu o meu problema.
Preciso começar a programar de maneira mais "limpa", valeu
pelas dicas,
Abraços,
Segue solução:
## 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]])
}
tableFE<-
readFE("https://www.dropbox.com/s/foeh9oqbiqlawvg/TALHOES_AGENTE2.htm?dl=1")
## Sumariza as informações do banco de dados
summaryFE<-function(x, db=tableFE){
## Função Identificadora da empresa
enterprise<-function(x, db = tableFE) {
x<-NULL
results <- x
x<-db[1,1]
results <- x
results
}
#--#
#Exemplo
ENTERP<-enterprise(db = tableFE)
#
## Função do período do monitoramento
timeFE<-function(x, db = tableFE) {
x<-NULL
time<-range(as.Date(tableFE[,11]))
results <- x
x<-time
results <- x
results
}
#--#
##Enumera o número de grupos de pragas monitorados
npragsFE<-function(x){
npragsFE<-unique(db[,6])
}
#
result<-list(enterprise(x),timeFE(x),npragsFE(x))
return(result)
}
#
## Sumariza
summaryFE(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 (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 02/02/2016 07:36, Éder Comunello escreveu:
> Alexandre, bom dia!
>
> A conversão em numérico decorre do uso de cbind(). Tente com c()ou
> data.frame(). O uso de as.Date()não é necessário se você já
> transformou os objetos.
>
> Sugiro simplificar o código com as funções já disponíveis no R. Talvez
> você pudesse utilizar algo como:
> table(tableFE[,6], tableFE[,1])
> time <- range(as.Date(tableFE[,11])); time; diff(time)
>
>
> ================================================
> É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
> 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/20160202/dada8387/attachment.html>
Mais detalhes sobre a lista de discussão R-br