[R-br] [R] Uso da função if
Rubem Kaipper Ceratti
rubem_ceratti em yahoo.com.br
Quinta Março 5 08:43:57 BRT 2015
Talvez o que você queira seja algo como:
library(reshape2)AA.data2 <- dcast(AA.data, data ~ hora, value.var = 'volume')
(obs.: Código não testado)
Att.,Rubem
De: Michelle Bau Graczyk <mbgraczyk em gmail.com>
Para: r-br em listas.c3sl.ufpr.br
Enviadas: Quarta-feira, 4 de Março de 2015 14:00
Assunto: Re: [R-br] [R] Uso da função if
Oi Fernando e Rafael, eu acho que, pelo que eu vi, se eu só mandat o dput nao vai ficar tão claro. Por isso vou mandar os dados aqui em baixo, espero que você não ache ruim. Porque assim acho que fica mais claro.Eu preciso separar por horário os valores de volume. Assim eu quero gerar uma matriz as quais as colunas vao de 09:31 até 16:03 com as linhas sendo preenchidas pelos volumes do certo dia. O horário eu deixei em numero que vai de 1 ate a 396 ao invés de 09:31 até 16:03 porque achei mais fácil, ainda tenho dificuldades com character.
Bom, seguem os dados!
Muito obrigada!
01.07.2004 09:31:00 51.37 2790001.07.2004 09:32:00 51.32 10001.07.2004 09:33:00 51.45 70001.07.2004 09:34:00 51.46 100001.07.2004 09:35:00 51.50 80001.07.2004 09:36:00 51.54 300001.07.2004 09:37:00 51.54 1600...31.12.2004 15:45:00 56.50 410031.12.2004 15:46:00 56.50 740031.12.2004 15:47:00 56.40 840031.12.2004 15:48:00 56.44 1580031.12.2004 15:49:00 56.41 470031.12.2004 15:50:00 56.44 690031.12.2004 15:51:00 56.42 980031.12.2004 15:52:00 56.43 870031.12.2004 15:53:00 56.43 740031.12.2004 15:54:00 56.40 1240031.12.2004 15:55:00 56.44 1160031.12.2004 15:56:00 56.45 890031.12.2004 15:57:00 56.44 1430031.12.2004 15:58:00 56.44 1660031.12.2004 15:59:00 56.43 2110031.12.2004 16:00:00 56.43 3450031.12.2004 16:02:00 56.37 4600031.12.2004 16:03:00 56.37 111400
Em 4 de março de 2015 13:52, Michelle Bau Graczyk <mbgraczyk em gmail.com> escreveu:
Oi Fernando e Rafael, eu acho que, pelo que eu vi, se eu só mandat o dput nao vai ficar tão claro. Por isso vou mandar os dados em anexo, espero que você não ache ruim. Porque assim acho que fica mais claro.Eu preciso separar por horário os valores de volume. Assim eu quero gerar uma matriz as quais as colunas vao de 09:31 até 16:03 com as linhas sendo preenchidas pelos volumes do certo dia. O horário eu deixei em numero que vai de 1 ate a 396 ao invés de 09:31 até 16:03 porque achei mais fácil, ainda tenho dificuldades com character.
Bom, seguem os dados em anexo.
Muito obrigada!
Em 4 de março de 2015 13:34, Fernando Antonio de souza <nandodesouza em gmail.com> escreveu:
Michelle é que para que os usuários da lista possam lhe ajudar é necessário que você forneça um CMR(código mínimo reproduzível) isso permite que possamos acessar seus dados e refazer os seus comandos e assim lhe orientar melhor.
Você forneceu o código, no entanto eu não tenho como acessar seus dados, pois o endereço que vc forneceu no read.table não é o mesmo em meu computador.
Por isso estou lhe solicitando que faça um dput(seusbancodedados). Após dar o enter esta função retornara seu banco de dados em um formato que todos os usuários poderam ter acesso apenas por copiar e colar esta saída no R. Você copia e cole no email essa saída e assim todos poderão utilizar seus dados e lhe ajudar de maneira mais rápida
Você pode fornecer todo o banco de dados ou apenas parte dele (no caso de banco de dados muito grande). O importante é que os dados fornecidos possam ser reproduzidos pela pessoa que está lhe ajudando.
Em 4 de março de 2015 13:25, Michelle Bau Graczyk <mbgraczyk em gmail.com> escreveu:
Oi Fernando,
Me desculpe mas você pode ser um pouco mais claro? Sou iniciante em R e por isso ainda tenho muita dificuldade.
Em 4 de março de 2015 13:20, Fernando Antonio de souza <nandodesouza em gmail.com> escreveu:
OLÁ
Faça um dput(seubancodedados) copie e cole a saída para que seus comandos possa ser replicados e possa lhe ajudar. Acredito que o que você deseja fazer pode ser feito com funções do pacote plyr ou lapply, o que torna muito mais eficiente.
Em 4 de março de 2015 13:09, Michelle Bau Graczyk <mbgraczyk em gmail.com> escreveu:
Boa tarde,
Estou com um problema de lógica para o uso do if. Meu intuito com este programa é separar por horário os valores do volume. O horário está escrito de maneira numérica e vai de 1 até 396. O valor máximo de volumes por horário é 126.Só que quando tento fazer rodar, vem a mensagem :Erro em if (AA.data$hora[k] == i) { : valor ausente onde TRUE/FALSE necessário
Abaixo segue o programa.
AA<-read.table("/Users/bau/Documents/Mestrado/teste/AXP_NYS_USD_1min_EST5EDT_200407s12e.dat", header=FALSE, col.names=c("data","hora","preco","volume"))hora<-as.numeric(AA$hora)AA.data<-data.frame(data=AA$data,hora=hora, preco=AA$preco, volume=AA$volume)write.table(AA.data,"testeteste.txt")
matriz.dadosAA<-matrix(nrow=128,ncol=4)for(i in 1:4){ j<-1 for(k in 1:48935){ for(j in 1:126){ if(AA.data$hora[k]==i){ matriz.dadosAA[j,i]=AA.data$volume[k] j=j+1
} else { matriz.dadosAA[j,i]=0 j=j+1}
k=k+1 } }} a<-matriz.dadosAA[,1] write.table(a,"a.txt")
Muito obrigada,
Michelle
_______________________________________________
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.
_______________________________________________
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.
_______________________________________________
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.
_______________________________________________
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.
_______________________________________________
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/20150305/ae996ab2/attachment.html>
Mais detalhes sobre a lista de discussão R-br