Я бы предложил индексировать с помощью seq
из базы r, чтобы получить очень простой и эффективный подход:
df_train <- df[seq(1, 17000, 2), ]
df_test <- df[seq(0, 17000, 10), ]
В первом примере он генерирует вектор, который он использует для индексации, беря каждое второе число, начиная с 1 до 17000 (так что все нечетные числа), и в наборе dftest он начинает последовательность с нуля и принимает каждое десятое число , Затем они помещаются в квадратные скобки, чтобы указать, какой [rows, columns]
вызывать (без указания столбцов занимает всю строку фрейма данных.