Один из подходов состоит в том, чтобы преобразовать ваш вектор разбиения в матрицу из 2 столбцов, а затем применить его к data.frame
интересу.В результате вы получите список необходимых вам фреймов данных.
# Simulataed data frame with 100 columns
df <- as.data.frame(matrix(1:1000, ncol = 100))
# Splits vector
splits <- c(1, 18, 19, 25, 26, 33, 34, 41, 42, 49, 50, 100)
# Extract columns we need to add to the rest of split data frames
first <- splits[1:2]
rest <- splits[-(1:2)]
# create a matrix with two columns
splits_m <- matrix(rest, ncol = 2, byrow = TRUE)
# make list of data frame base on splits
dfl <- apply(splits_m, 2, function(x) df[, c(x[1]:x[2], first[1]:first[2])])
# access the first data.frame
dfl[[1]]