Supongamos que tenemos una variable x con valores desde 8 a 16 (la genero aleatoriamente)
> x
[1] 12.343443 14.671500 14.328706 8.255101 9.756942 13.172240 15.860964
[8] 15.290996 14.074286 10.768574 12.601100 13.613633 8.845372 13.736755
[15] 12.087449 12.717392 9.118993 10.118237 10.716375 13.849005 9.716045
[22] 12.887064 13.281750 15.241378 10.406783 10.078509 8.947806 12.363771
[29] 9.220354 12.794835
Quiero dividirla en cuatro intervalos, en el segundo argumento de cut especifico los límites
> cut(x, c(8, 9, 12, 13, 16))
[1] (12,13] (13,16] (13,16] (8,9] (9,12] (13,16] (13,16] (13,16] (13,16]
[10] (9,12] (12,13] (13,16] (8,9] (13,16] (12,13] (12,13] (9,12] (9,12]
[19] (9,12] (13,16] (9,12] (12,13] (13,16] (13,16] (9,12] (9,12] (8,9]
[28] (12,13] (9,12] (12,13]
Levels: (8,9] (9,12] (12,13] (13,16]
El resultado es un factor y la etiqueta especifica en qué intervalo está cada valor, así el primer (12,13] quiere decir que el primer valor de x está en ese intervalo, el segundo valor (13,16] lo que quiere decir que el segundo valor está en ese intervalo.
Tal vez leerlo de esta forma sea un poco lioso, si quieres ponerle etiquetas un poco más legibles puedes usar el argumento labels de cut como se muestra a continuación.
> cut(x, c(8, 9, 12, 13, 16), labels=c('Bajo', 'Bajo-Medio', 'Medio-Alto', 'Alto'))
[1] Medio-Alto Alto Alto Bajo Bajo-Medio Alto
[7] Alto Alto Alto Bajo-Medio Medio-Alto Alto
[13] Bajo Alto Medio-Alto Medio-Alto Bajo-Medio Bajo-Medio
[19] Bajo-Medio Alto Bajo-Medio Medio-Alto Alto Alto
[25] Bajo-Medio Bajo-Medio Bajo Medio-Alto Bajo-Medio Medio-Alto
Levels: Bajo Bajo-Medio Medio-Alto Alto
Nuevamente recordarte que lo que se obtiene es una variable de tipo factor.
Un saludo.