Rellene una columna usando sentencias if en r

Tengo una pregunta bastante simple con la que actualmente estoy luchando. Si tengo un marco de datos de ejemplo:

a <- c(1:5)  
b <- c(1,3,5,9,11)
df1 <- data.frame(a,b)

¿Cómo creo una nueva columna ('c') que luego se rellena utilizando las sentencias if en la columna b. Por ejemplo: 'cat' para aquellos valores en b que son 1 o 2 'dog' para aquellos valores en b que están entre 3 y 5 'rabbit' para aquellos valores en b que son mayores que 6

Entonces la columna 'c' que usa el marco de datos df1 diría: gato, perro, perro, conejo, conejo.

Muchas gracias de antemano.

Respuestas a la pregunta(3)

Su respuesta a la pregunta