Pad con ceros iniciales a ancho común [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo agregar ceros iniciales? 8 respuestas

Estoy manejando un DB con formato de hora como:

HOUR ID
1  2
10 4
5  6
20 6

Me gustaría colocar un cero en el valor con 1 carácter y almacenarlos en una nueva columna llamada NHOUR, como:

NHOUR HOUR ID
01 1  2
10 10 4
05 5 6
20 20 6

Hasta ahora estoy luchando con algo como (Sigo algunas sugerencias ya proporcionadas para ifelse en el foro):

DB$NHOUR<-with(DB,ifelse(nchar(HOUR,type="chars")==1),sprintf("%02d",HOUR),as.numeric(HOUR))

¡Pero sin ningún éxito! R siempre informa que el elemento "sí" no está especificado, etc.

Como siempre, cualquier consejo es apreciado!

Respuestas a la pregunta(4)

Su respuesta a la pregunta