Это не самое элегантное решение, оно довольно простое, но оно все еще выполняет свою работу.Мы будем использовать тот факт, что ваш набор данных упорядочивается по убыванию в соответствии с X2.
В следующей строке вы вставляете пропорции верхнего x% и нижнего z% (здесь 0.2 и 0.3 являются лишь примером, выизмените их в соответствии с вашими потребностями)
perc_top <- 0.2 ; perc_bottom <- 0.3
Затем вы разделяете набор данных на три части с помощью следующих строк кода:
n <- nrow(data)
# number of rows for the top dataset
rows_top <- round(perc_top*n)
# number of rows for the bottom dataset
rows_bottom <- round(perc_bottom*n)
# creation of the three dataset
data_top <- data[1:rows_top,]
data_bottom <- data[(n-rows_bottom+1):n,]
data_middle <- data[-c(1:rows_top, (n-rows_bottom+1):n),]