
Olá pessoal, Por favor considerem o seguinte vetor: num <- c(0, 30, 100, 130, 200, 230, 500, 1000, 2330) Como posso transformar cada elemento dele em hora? Por exemplo: "0" seria 00:00:00, "30" seria 00:30:00, "100" seria 01:00:00, ... "1000" seria 10:00:00 e "2330" seria 23:30:00 Assim por diante. Na verdade tenho todas as horas do dia (a cada 30 minutos) representadas assim, e preciso convertê-las em horas reais. Pergunta simples, mas estou perdendo um certo tempo pensando nisso... Obrigado desde já, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898

Thiago, boa tarde! Na concepção que tenho do R, as horas (tempo) são frações de dias (data). Desse modo, seria necessário associar o valor da hora à uma data válida. Isso para realizar operações aritméticas com os valores, como com x2... ### <code r> x0 <- rep(seq(0, 2300, 100), each=4)+c(0,15,30,45); x0 ### Vetor de datas (15 em 15') # x0 <- rep(seq(0, 2300, 100), each=4)+c(0,30); x0 ### Vetor de datas (30 em 30') x1 <- formatC(x0, flag=0, width=4); x1 ### Padronizar formatos (1:00 => 01:00) x2 <- strptime(x1, format="%H%M"); x2 ### Converter em data x2[4]-x2[2] ### exemplo de operação com datas ### Time difference of 30 mins x3 <- format(x2, "%H:%M"); x3 ### Produzir 'rótulos' em charater() ### Se você quer apenas os rótulos, há opções mais diretas... paste(formatC(rep(0:23, each=4), width=2, flag=0),formatC(c(0,15,30,45), width=2, flag=0) ,sep=":") ### 15' paste(formatC(rep(0:23, each=2), width=2, flag=0),formatC(c(0,30), width=2, flag=0) ,sep=":") ### 30' ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 28 de fevereiro de 2014 21:27, Thiago V. dos Santos < thi_veloso@yahoo.com.br> escreveu:
Olá pessoal,
Por favor considerem o seguinte vetor:
num <- c(0, 30, 100, 130, 200, 230, 500, 1000, 2330)
Como posso transformar cada elemento dele em hora? Por exemplo:
"0" seria 00:00:00, "30" seria 00:30:00, "100" seria 01:00:00, ... "1000" seria 10:00:00 e "2330" seria 23:30:00
Assim por diante. Na verdade tenho todas as horas do dia (a cada 30 minutos) representadas assim, e preciso convertê-las em horas reais.
Pergunta simples, mas estou perdendo um certo tempo pensando nisso...
Obrigado desde já, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota
http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898
_______________________________________________ R-br mailing list R-br@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.
participantes (2)
-
Thiago V. dos Santos
-
Éder Comunello