La implementación habitual de vainilla intenta todas las combinaciones posibles de sus categorías. Expresa estas combinaciones como un número entero que representa qué categorías se seleccionan y cuáles se excluyen en la división. Va de izquierda a derecha. Por ejemplo, si tiene una variable con las clases "Gato", "Perro", "Vaca", "Rata", se desplazaría a través de posibles divisiones, lo que significa algo como:
Perro contra el resto = 0100 (recuerde, lea de izquierda a derecha)
Gato vs el resto = 1000
Por sí mismos, pero también
Perro y Gato vs Vaca y Rata = 1100
Vaca y Gato vs Perro y Rata = 1010
Y luego, como se mencionó, usa números enteros para manejar esto, para representar la división:
library(R.utils)
> intToBin(12)
[1] "1100"