Como adicionar informações de tempo para datas em R

Muitas vezes, referindo-se apenas às datas em R não é suficiente. Há momentos em que você também precisa indicar um tempo específico em horas e minutos em R.

Para especificar as informações de tempo, além de datas, você pode escolher entre duas funções em R: as.POSIXct () e as.POSIXlt (). Estas duas funções de data e hora diferem na maneira que eles armazenam informações de data internamente, bem como na maneira que você pode extrair de data e hora elementos. (Para saber mais sobre essas duas funções, consulte a barra lateral nas proximidades, # 147 As duas funções de data e hora. # 148-)

POSIX é o nome de um conjunto de padrões que se refere ao sistema operativo UNIX. POSIXct refere-se a um tempo que é armazenada internamente como o número de segundos desde o início de 1970, por padrão. (Você pode modificar o ano de origem, definindo o origem argumento para POSIXct ().) POSIXlt refere-se a uma data armazenada como uma lista de nomes de vetores para o ano, mês, dia, horas e minutos.

Segundo a Wikipedia, o tempo do Apollo 11 aterragem de lua era 20 de julho de 1969, pelo 20:17:39 UTC. (.. UTC é a sigla para Tempo Universal Coordenado É como relógios do mundo são regulados) Para expressar essa data e hora em R, tente o seguinte:

> Apollo lt; - "20 de julho de 1969, 20:17:39"> apollo.fmt lt; - "% B% d,% Y,% H:% M:% S"> XCT lt; - as.POSIXct (Apollo, format = apollo.fmt, tz = "UTC")> XCT [1] "1969/07/20 20:17:39 UTC"

Como você pode ver, as.POSIXct () leva argumentos semelhantes aos as.Date (), mas você precisa especificar o formato da data, bem como o fuso horário.

FormatoDescrição
% HHoras como um número decimal (00-23)
%EUHoras como um número decimal (01-12)
% HMinutos como um número decimal (00-59)
% SSegundos como um número decimal (00-61)
% pindicador AM / PM

Na maioria das linguagens de computador e sistemas, as datas são representados por valores numéricos que indicam o número de segundos desde um instante específico no tempo (conhecido como o época).

Em R, você pode usar duas funções para trabalhar com objetos de data e hora: POSIXct () e POSIXlt (). Estas funções criar objetos de POSIXct classe e POSIXlt, respectivamente:

  • POSIXct objetos representa o número (assinado) de segundos desde o começo de 1970 (na zona de tempo UTC) como um vector numérico.

  • POSIXlt objetos são nomeados listas de vetores representando nove elementos de uma data e hora (sec, min, hora, e assim por diante).

Porque POSIXct são números, e POSIXlt objetos são listas, POSIXct objetos requer menos memória.

Isto resume as principais diferenças entre as diferentes classes de data e hora em R.

ClasseDescriçãoFunções úteis
Encontrodata do calendárioas.Date ()
POSIXctO número de segundos, desde o início de 1970 (na zona UTCTime) como um vector numéricoas.POSIXct ()
POSIXltUma lista com o nome de vetores representando nove elementos (sec, min, horas, e assim por diante)as.POSIXlt ()

menu