Or see cut_number from the ggplot2 package, e.g.
das$wt_2 <- as.numeric(cut_number(das$wt,3))
Note that cut(...,3) divides the range of the original data into three ranges of equal lengths; it doesn’t necessarily result in the same number of observations per group if the data are unevenly distributed (you can replicate what cut_number does by using quantile appropriately, but it’s a nice convenience function). On the other hand, Hmisc::cut2() using the g= argument does split by quantiles, so is more or less equivalent to ggplot2::cut_number. I might have thought that something like cut_number would have made its way into dplyr by so far, but as far as I can tell it hasn’t.