Ajouter/soustraire 6 mois (garantie de temps) dans R à l'aide de lubridate
Je suis à la recherche d'ajouter et de soustraire les six mois de manière fiable avec lubridate
.
Par exemple, l'ajout de six mois à 12/31/2014
devrait entraîner 6/30/2015
,
et en ajoutant à 2/28/2014
devrait entraîner 8/31/2014
Le problème avec as.Date("2014-12-31") + months(6)
, c'est qu'il donne une NA
. Sinon, le deuxième résultat est 8/28/2014 parce qu'il n'est pas juste ajouter 6 mois pour le mois et ensuite de savoir où la journée devrait se terminer dépend de la mois.
Est-il un moyen rapide pour corriger cela? En ce moment, je fais construire une fonction essentiellement de l'utilisation d'un interrupteur et d'envisager chaque mois, mais c'est très long et je vais avoir des problèmes avec elle.
Merci!
OriginalL'auteur Michael Clinton | 2014-03-25
Vous devez vous connecter pour publier un commentaire.
La
lubridate
fonction%m+%
peut être utile ici:Également manipuler le second cas, vous aurez besoin de ronde jusqu'au mois près à l'aide de
ceiling_date
, et de soustraire un jour, à l'aide dedays
.OriginalL'auteur Henrik
Je viens de codé rapidement, mais je pense que cela devrait fonctionner. Je ne suis pas sûr si c'est la solution la plus élégante, cependant.
NB: pas de débogage, afin de vérifier vous-même et laissez-moi savoir.
OriginalL'auteur Jacob M. Morley