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.
Formato | Descrição |
---|---|
% H | Horas como um número decimal (00-23) |
%EU | Horas como um número decimal (01-12) |
% H | Minutos como um número decimal (00-59) |
% S | Segundos como um número decimal (00-61) |
% p | indicador 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.
Classe | Descrição | Funções úteis |
---|---|---|
Encontro | data do calendário | as.Date () |
POSIXct | O número de segundos, desde o início de 1970 (na zona UTCTime) como um vector numérico | as.POSIXct () |
POSIXlt | Uma lista com o nome de vetores representando nove elementos (sec, min, horas, e assim por diante) | as.POSIXlt () |