R: criando uma variável categórica a partir de uma variável numérica e intervalos personalizados / abertos / de valor único

Costumo me encontrar tentando criar uma variável categórica a partir de uma variável numérica + de um conjunto de intervalos fornecido pelo usuário.

Por exemplo, digamos que eu possua um data.frame com uma variável numéricadf$V e gostaria de criar uma nova variáveldf$VCAT de tal modo que:

df$VCAT = 0 sedf$V é igual a 0df$VCAT = 1 sedf$V está entre 0 e 10 (ou seja, (0,10))df$VCAT = 2 édf$V é igual a 10 (ou seja, [10,10])df$VCAT = 3 édf$V está entre 10 e 20 (ou seja, (10,20))df$VCAT = 4 édf$V é maior ou igual a 20 (ou seja, [20, Inf])

Atualmente, estou fazendo isso codificando a "função de pontuação", fazendo algo como:

df = data.frame(V = seq(1,100))
df = df %>% mutate(VCAT = (V>0) + (V==10) + 2*(V>10) + (V>=20))

Gostaria de saber se existe uma maneira hacky mais fácil de fazer isso no R, de preferência usandodplyr (para que eu possa encadear comandos). Idealmente, estou procurando uma função curta que possa ser usada emmutate que terá na variávelV e um vetor que descreve os intervalos comobuckets. Observe quebuckets pode não ser descrito da melhor maneira aqui, pois não está claro para mim como isso permitiria aos usuários personalizar os pontos de extremidade dos intervalos.

questionAnswers(2)

yourAnswerToTheQuestion