
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>