Como formatar e realizar operações em datas e horários em r

Para formatar uma data para a impressão bonita em R, você usa formato()

, o que leva um POSIXct ou POSIXlt datetime como entrada, juntamente com uma string de formatação.

Usando o exemplo onde o objecto XCT é o dia ea hora da Apolo de destino, você pode formatar essa data e hora de muitas maneiras diferentes. Para exemplos, para formatá-lo como DD / MM / AA, experimentar:

gt; format (XCT, "% D /% m /% Y") [1] "20/07/69"

Além dos códigos de formatação, você pode usar qualquer outro personagem. Se você deseja formatar o XCT datetime como uma sentença, tente o seguinte:

gt; format (XCT, "% S minutos passados% I% p, em% d% B% Y") [1] "39 minutos após 20:00, em 20 de julho de 1969"

Porque R lojas datetime objetos como números, você pode fazer várias operações em datas.

A adição e subtracção em R

Porque R lojas de objetos de classe POSIXct como o número de segundos desde a época (geralmente o início de 1970), você pode fazer a adição e subtração, adicionando ou subtraindo segundos. É mais comum para adicionar ou subtrair dias de datas, por isso é útil saber que cada dia tem 86.400 segundos.

gt; 24 * 60 * 60 [1] 86400

Então, para adicionar sete dias para o Apolo Lua data de desembarque, usar disso, lembre-se de multiplicar o número de dias pelo número de segundos por dia:

gt; XCT + 7 * 86400 [1] "1969/07/27 20:17:39 UTC"

Depois que você sabe que você pode converter qualquer duração de segundos, você pode adicionar ou subtrair qualquer valor para um objeto de data e hora. Por exemplo, adicionar três horas para o tempo da Apolo alunagem:

Video: Excel - Como calcular horas e valores

gt; XCT + 3 * 60 * 60 [1] "1969/07/20 23:17:39 UTC"

Da mesma forma, para obter uma data sete dias antes, usar subtração:



gt; XCT - 7 * 86400 [1] "1969/07/13 20:17:39 UTC"

Comparação de datas em R

Similar à maneira que você pode adicionar ou subtrair estados Você também pode comparar datas com os operadores de comparação, tais como menor que (lt;) Ou superior (gt;).

Video: Como converter unidades de tempo - Horas, minutos e segundos - EXATAS EXATAS

Digamos que você queira comparar o tempo atual com qualquer tempo fixo. Em R, você usa o Sys.time () função para obter a hora atual do sistema:

gt; Sys.time () [1] "2012-03-24 10:12:52 GMT"

Agora você sabe o tempo exato quando escreveu esta frase. Claramente quando você tenta o mesmo comando que você vai obter um resultado diferente!

Video: Soma e subtração de horas mais fácil (MT17)

Agora você pode comparar o seu tempo de sistema atual com a época do Apolo aterrissagem:

gt; Sys.time () lt; XCT [1] FALSE

Se o relógio do sistema é preciso, então, obviamente, seria de esperar que o resultado seja falsa, pois o pouso na Lua aconteceu há mais de 40 anos atrás.

Os operadores de comparação são vetorizado, para que possa comparar um vector inteira de datas com a data da aterragem da lua. Tente usar todo o seu conhecimento de datas, seqüências de datas e operadores de comparação para comparar o início de várias décadas para a data lua de pouso.

Comece criando um POSIXct objeto contendo o primeiro dia de 1950. Em seguida, utilizar seq () para criar uma seqüência com intervalos de dez anos:

gt; dec.start lt; - as.POSIXct ("1950/01/01") Gt; dezembro lt; - SEQ (dec.start, por ="10 anos", Length.out = 4) gt; dezembro [1] "1950/01/01 GMT" "1960/01/01 GMT" "1970-01-01 GMT"[4] "1980-01-01 GMT"

Finalmente, você pode comparar seu novo vetor dezembro com a data lua desembarque:

Video: Curso de Excel Função HOJE() e Diferença entre datas em dias, meses e semanas

gt; dezembro gt; XCT [1] FALSO FALSO verdadeiro verdadeiro

Como você pode ver, os dois primeiros resultados (em comparação com 1950 e 1960) são FALSO, e os dois últimos valores (em comparação com 1970 e 1980) são VERDADE.


Publicações relacionadas