¿Cómo puedo redondear una fecha al inicio / final del trimestre?
Necesito tomar un vector de fechas y para cada fecha obtener el primer día del próximo trimestre.
(O más bien, redondear al último día del trimestre actual, encontrar el primer día del próximo trimestre y despegar es mi plan)
lubridate
redondeará / tope a meses, pero no a cuartos
La única solución que he encontrado hasta ahora es hacer una lista de vectores que comience todo el trimestre desde 1970 hasta 2099 y luego buscarla para encontrar la fecha mínima después de mi fecha. Claramente, esto vectoriza y escala mal.
Necesito poder especificar el mes de fin de año (aunque el año siempre comienza el 1 de cada mes)
P.ej.
x = as.Date("2014-08-15")
RoundToQuarterStart(x, yearStarts = "March")
[1] "2014-09-01"
Dado que el año comienza el 1 de marzo en este ejemplo, el tercer trimestre comienza el 1 de septiembre, que es el próximo trimestre después de la fecha indicada. (o de manera equivalente, esta fecha pertenece al segundo trimestre que finaliza el 31 de agosto)