Comment formater et effectuer des opérations sur les dates et les heures dans r

Pour formater une date pour la jolie impression dans R, vous utilisez format ()

Sommaire

, qui prend une POSIXct ou POSIXlt datetime en entrée, avec une chaîne de formatage.

En utilisant l'exemple où l'objet xct est le jour et l'heure de la Apollon atterrissage, vous pouvez formater cette date et l'heure de nombreuses façons différentes. Pour des exemples, afin de formater JJ / MM / AA, essayer:

> Format (XCT, "% d /% m /% Y") [1] "20/07/69"

En plus des codes de mise en forme, vous pouvez utiliser tout autre caractère. Si vous voulez formater la xct datetime comme une phrase, essayez ce qui suit:

> Format (XCT, "% s minutes passées% I% p, sur% d% B% Y") [1] «39 minutes après 20 heures, le 20 Juillet 1969»

Parce que les magasins de R datetime objets comme des numéros, vous pouvez effectuer diverses opérations sur les dates.

Addition et la soustraction en R

Parce que les magasins d'objets de la classe R POSIXct comme le nombre de secondes depuis l'époque (habituellement le début de 1970), vous pouvez faire addition et la soustraction en ajoutant ou soustrayant secondes. Il est plus fréquent pour ajouter ou soustraire jours à partir de dates, il est donc utile de savoir que chaque jour a 86,400 secondes.

> 24 * 60 * 60 [1] 86400



Donc, pour ajouter sept jours à la Apollon lune date de l'atterrissage, utilisez plus, rappelez-vous juste de multiplier le nombre de jours par le nombre de secondes par jour:

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

Après vous savez que vous pouvez convertir toute la durée de secondes, vous pouvez ajouter ou soustraire une valeur à un objet C. Par exemple, ajouter à trois heures le temps de la Apollon alunissage:

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

De même, pour obtenir une date de sept jours plus tôt, utilisez la soustraction:

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

Comparaison des dates de R

Semblable à la façon dont vous pouvez ajouter ou soustraire des états Vous pouvez également comparer les dates avec les opérateurs de comparaison, tel que moins de (lt;) Ou supérieure (>).

Dites que vous voulez comparer l'heure actuelle avec tout moment fixe. Dans R, vous utilisez le Sys.time () fonction pour obtenir l'heure actuelle du système:

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

Maintenant, vous savez le moment exact où nous avons écrit cette phrase. Il est clair que lorsque vous essayez la même commande, vous obtiendrez un résultat différent!

Maintenant, vous pouvez comparer votre temps de système actuel avec le moment de la Apollon l'atterrissage:

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

Si l'horloge de votre système est exacte, alors il est évident que vous attendez le résultat est faux, parce que l'atterrissage sur la lune est arrivé il ya plus de 40 ans.

Les opérateurs de comparaison sont vectorisés, de sorte que vous pouvez comparer un vecteur ensemble de dates avec la date de débarquement sur la lune. Essayez d'utiliser toutes vos connaissances des dates, des séquences de dates, et les opérateurs de comparaison pour comparer le début de plusieurs décennies à la date d'alunissage.

Commencez par créer un POSIXct objet contenant le premier jour de l'année 1950. Ensuite, utilisez seq () à créer une séquence avec des intervalles de dix ans;

> Dec.start lt; - as.POSIXct ("01/01/1950")> décembre lt; - seq (dec.start, par = "10 ans", length.out = 4)> décembre [1] "01/01/1950 GMT" "1/1/1960 GMT" "1970-01-01 GMT "[4]» 1980-01-01 GMT "

Enfin, vous pouvez comparer votre nouveau vecteur décembre avec la date de débarquement sur la lune:

> Dec> xct [1] FAUX FAUX VRAI

Comme vous pouvez le voir, les deux premiers résultats (comparé à 1950 et 1960) sont FAUX, et les deux dernières valeurs (comparé à 1970 et 1980) sont VRAI.


» » » » Comment formater et effectuer des opérations sur les dates et les heures dans r