¿Cómo redondear a los 10 más cercanos (o 100 o X)?

Estoy escribiendo una función para trazar datos. Me gustaría especificar un buen número redondo para el eje ymax que es mayor que el máximo del conjunto de datos.

Específicamente, me gustaría una funciónfoo que realiza lo siguiente:

foo(4) == 5
foo(6.1) == 10 #maybe 7 would be better
foo(30.1) == 40
foo(100.1) == 110 

He llegado tan lejos como

foo <- function(x) ceiling(max(x)/10)*10

para redondear a los 10 más cercanos, pero esto no funciona para intervalos de redondeo arbitrarios.

¿Hay una mejor manera de hacer esto en R?

Respuestas a la pregunta(11)

Su respuesta a la pregunta