[R-br] [R] Uso da função if
Éder Comunello
comunello.eder em gmail.com
Sexta Março 6 08:36:07 BRT 2015
Michelle, bom dia!
Encaminho uma ideia de resolução com base no que pude entender e
aproveitando a sugestão do colega Rubem.
### <code r>
setwd("c:\\lab\\temp")
AA <- read.table("AXP_NYS_USD_1min_EST5EDT_200407s12e.dat", header=FALSE,
col.names=c("data","hora","preco","volume"), as.is=T)
str(AA)
AA$data <- as.Date(AA$data, "%d.%m.%Y")
AA$hora <- format(strptime(AA$hora, "%H:%M:%S"), "%H:%M")
AA$horaid <- as.numeric(as.factor(AA$hora)) ### valores utilizados no seu
código original
head(AA, 3)
# data hora preco volume horaid
# 1 01.07.2004 09:31 51.37 27900 1
# 2 01.07.2004 09:32 51.32 100 2
# 3 01.07.2004 09:33 51.45 700 3
# write.table(AA,"testeteste.txt")
### seleção de uma data simples
AA[AA$hora=="09:31",]
# AA[AA$horaid==1,] ### resultado equivalente
### reestruturando data.frame
require(reshape2)
AA2 <- dcast(AA, data~hora, value.var='volume') ### Utilizando texto das
horas
AA3 <- dcast(AA, data~horaid, value.var='volume') ### Utilizando índice das
horas
head(AA2[,1:8], 3)
# data 09:31 09:32 09:33 09:34 09:35 09:36 09:37
# 1 2004-07-01 27900 100 700 1000 800 3000 1600
# 2 2004-07-02 145400 500 NA 500 6900 NA 4400
# 3 2004-07-06 3200 2300 3800 1500 NA 1100 3700
head(AA3[,1:8], 3)
# data 1 2 3 4 5 6 7
# 1 2004-07-01 27900 100 700 1000 800 3000 1600
# 2 2004-07-02 145400 500 NA 500 6900 NA 4400
# 3 2004-07-06 3200 2300 3800 1500 NA 1100 3700
### extra
dObs <- unique(AA2$data); length(dObs) ### dias observados
dEsp <- seq(min(dObs), max(dObs), by="day"); length(dEsp) ### dias esperados
dEsp[!dEsp %in% dObs] ### dias faltantes
### </code>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150306/b7cb448c/attachment.html>
Mais detalhes sobre a lista de discussão R-br