Cómo dar formato y realizar operaciones en las fechas y horas en r

Para dar formato a una fecha para bastante impresión en R, se utiliza format ()

, que tiene un POSIXct o POSIXlt fecha y hora como de entrada, junto con una cadena de formato.

Usando el ejemplo donde el objeto xct es el día y hora de la Apolo aterrizaje, puede formatear esta fecha y la hora de muchas maneras diferentes. Para ejemplos, darle formato como DD / MM / YY, probar:

> Formato (xct, "% d /% m /% y") [1] "20/07/69"

Además de los códigos de formato, puede utilizar cualquier otro carácter. Si desea formatear la xct datetime como una sentencia, pruebe lo siguiente:

> Formato (xct, "minuto% S últimos% I% p, en% d% B% Y") [1] "39 minutos después de 20:00, el 20 de julio 1969"

Debido a que las tiendas de I datetime objetos como números, puede hacer varias operaciones en las fechas.

Suma y resta en I

Debido a que las tiendas R objetos de la clase POSIXct como el número de segundos desde la época (por lo general el comienzo de 1970), se puede hacer la suma y resta sumando o restando segundos. Es más común para sumar o restar días a partir de fechas, por lo que es útil saber que cada día cuenta con 86.400 segundos.

> 24 * 60 * 60 [1] 86400

Por lo tanto, para agregar siete días a la Apolo Luna fecha de aterrizaje, utilice Además, recuerde que multiplicar el número de días por el número de segundos por día:

> Xct + 7 * 86400 [1] "07/27/1969 20:17:39 UTC"

Después de saber que usted puede convertir cualquier duración de segundos, se puede sumar o restar valor a un objeto de fecha y hora. Por ejemplo, añadir tres horas a la hora de la Apolo alunizaje:

> Xct + 3 * 60 * 60 [1] "07/20/1969 23:17:39 UTC"

Del mismo modo, para obtener una fecha siete días antes, usar la resta:

> Xct - 7 * 86400 [1] "07/13/1969 20:17:39 UTC"

Comparación de las fechas en R

De manera similar a la forma en que se puede sumar o restar los estados también se puede comparar las fechas con los operadores de comparación, tal como menos de (lt;) O mayor que (>).

Digamos que usted desea comparar el tiempo actual con cualquier tiempo fijo. En R, se utiliza el Sys.time () función para obtener la hora actual del sistema:

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

Ahora usted sabe el momento exacto en que se escribió esta frase. Es evidente que cuando se intenta el mismo comando obtendrá un resultado diferente!

Ahora usted puede comparar la hora del sistema actual con el momento de la Apolo aterrizaje:

> Sys.time () lt; xct [1] FALSO

Si el reloj del sistema es correcta, entonces, evidentemente, es de esperar que el resultado sea falsa, porque la llegada a la luna ocurrió hace más de 40 años.

Los operadores de comparación están vectorizados, para que pueda comparar un vector entero de fechas con la fecha de llegada a la luna. Trate de usar todo su conocimiento de fechas, secuencias de fechas, y operadores de comparación para comparar el inicio de varias décadas a la fecha de llegada a la luna.

Comience por crear un POSIXct objeto que contiene el primer día de 1950. A continuación, utilice seq () para crear una secuencia con intervalos de diez años:

> Dec.start lt; - as.POSIXct ("01.01.1950")> diciembre lt; - ss (dec.start, por = "10 años", length.out = 4)> diciembre [1] "01/01/1950 GMT" "01/01/1960 GMT" "1970-01-01 GMT "[4]" 01/01/1980 GMT "

Por último, usted puede comparar su nuevo vector diciembre con la fecha de llegada a la luna:

> Diciembre> xct [1] FALSO VERDADERO FALSO VERDADERO

Como se puede ver, los dos primeros resultados (en comparación con 1950 y 1960) se FALSO, y los dos últimos valores (en comparación con 1970 y 1980) se CIERTO.




» » » » Cómo dar formato y realizar operaciones en las fechas y horas en r