Hi, is it below what you want ?
library(data.table)
library(tidyverse)
my_data <- c(1:360) %>% data.frame()
colnames(my_data)[1] <- "numbers"
my_data <- setDT(my_data)
my_data[,Categorized_numbers := cut(numbers,
breaks=c(0, 90, 180, 270, 360),
include.lowest=TRUE,
labels=c("<90", "<180", "<270", "<360"))]
my_data[,table(Categorized_numbers)]
X1 <- split(my_data, my_data$Categorized_numbers) %>% as.data.frame() %>% select(.,!contains("Categorized"))