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!

Pas vraiment clair sur le comportement que vous voulez - que l'ajout de 6 mois à 2/27/2014 donner? 8/30/2014, ou 8/27/2014?

OriginalL'auteur Michael Clinton | 2014-03-25