Buscando algunas cosas sobre R, he encontrado esta función que hice hace mucho tiempo. De hecho, puedo decir que es de las primeras que hice, allá por 2001 (creo), cuando empecé a conocer esto de R. Por aquel entonces aseguré que el futuro pasaba por R y, nueve años después, sigo diciendo lo mismo; el tiempo me dará la razón; lo que no me imaginaba es que hiciera falta tanto tiempo. En fin, historias del dinosaurio.
Vamos con la función “histórica”. Al no disponer de la función mod en R, la programé:
mod <- function(x, y) {
(abs(x / y) %% 1) * y * sign(x)
}
Función sencilla, pero que tiene un aspecto interesante: el %%. Probad lo siguiente:
(65 / 3) %% 1
# [1] 0.6666667
-(65 / 3) %% 1
# [1] 0.3333333
Al aparecer la función no entendí por qué hacía abs y después sign. Pero veo que es debido a las peculiaridades de %%. Me parecía curioso. Saludos.