[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