Alternative without using cut2.
das$wt2 <- as.factor( as.numeric( cut(das$wt,3)))
or
das$wt2 <- as.factor( cut(das$wt,3, labels=F))
As pointed out by @ben-bolker this splits into equal-widths rather occupancy.
I think that using quantiles
one can approximate equal-occupancy
x = rnorm(10)
x
[1] -0.1074316 0.6690681 -1.7168853 0.5144931 1.6460280 0.7014368
[7] 1.1170587 -0.8503069 0.4462932 -0.1089427
bin = 3 #for 1/3 rd, 4 for 1/4, 100 for 1/100th etc
xx = cut(x, quantile(x, breaks=1/bin*c(1:bin)), labels=F, include.lowest=T)
table(xx)
1 2 3 4
3 2 2 3