Acho que tu inverteu o nome das variáveis, não?
No seu comando:
cff$Qual.a.sua.idade. <- cut(cff$grupos.de.idade, c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"))
Cria a variável "Qual.a.sua.idade." (que já existe e, portanto, será sobrescrita) através dos valores da variável "grupos.de.idade", que não existe. Acredito que tu queria fazer o contrário:
cff$grupos.de.idade <- cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"))
Lembrando que o intervalo não inclui o limite inferior. Como no tu caso o limite inferior do 1o intervalo é 19 e tu possui um dado com 19, talvez seja interessante incluir o limite inferior no 1o intervalo através do parâmetro include.lowest
cff$grupos.de.idade <- cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"), include.lowest = TRUE)
Veja aqui a diferença dos 2:
cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"))
[1] acima de 77 <NA> 37 ate 46 27 ate 36 27 ate 36 47 ate 56
Levels: 19 ate 26 27 ate 36 37 ate 46 47 ate 56 57 ate 66 67 ate 76 acima de 77
cut(cff$Qual.a.sua.idade., c(19, 26, 36, 46, 56, 66, 76, 80), labels = c("19 ate 26", "27 ate 36", "37 ate 46", "47 ate 56", "57 ate 66", "67 ate 76", "acima de 77"), include.lowest = TRUE)
[1] acima de 77 19 ate 26 37 ate 46 27 ate 36 27 ate 36 47 ate 56
Levels: 19 ate 26 27 ate 36 37 ate 46 47 ate 56 57 ate 66 67 ate 76 acima de 77
[]'s