tengo algunas dudas acerca de los años bisiestos, ¿cómo puedo estar seguro de que mediante el uso de una fórmula como esta¿Cómo contabilizar los años bisiestos?
add.years= function(x,y){
if(!isTRUE(all.equal(y,round(y)))) stop("Argument \"y\" must be an integer.\n")
x <- as.POSIXlt(x)
x$year <- x$year+y
as.Date(x)
}
tendrá en años bisiestos, al añadir, por ejemplo, 100 años a mi conjunto de datos de observación? ¿Cómo puedo controlar esto?
que tienen un conjunto de datos de series de tiempo con 50 años de observaciones:
date obs
1995-01-01 1.0
1995-01-02 2.0
1995-01-03 2.5
...
2045-12-30 0.2
2045-12-31 0.1
conjunto de datos + 100 años
date obs
2095-01-01 1.0
2095-01-02 2.0
2095-01-03 2.5
...
2145-12-30 0.2
2145-12-31 0.1
Después de una comprobación básica, me he dado cuenta de que el número de filas es el lo mismo para el original y 100 años después del conjunto de datos. No estoy seguro si lo que estaba antes del 29 de febrero en un año bisiesto será ahora el valor obs para el 1 de marzo en un año no bisiesto, etc.
Puedo verificar los años bisiestos usando la chronoteca la función leap.year, sin embargo, me gustaría saber si existe una forma más sencilla de hacerlo, para asegurarme de que las filas con los días del 29 de febrero que no existen 100 años después se eliminarán y los días nuevos del 29 de febrero se agregan los valores de NA.
La mezcla de los formatos 'POSIXlt' y' Date' solo terminará en errores y desgarros oscuros. –
¡Confirmo! Mejor pasar un tiempo para limpiar mi código. ¡Gracias! –