У меня есть большой фрейм данных, который содержит кучу различных переменных среды. Я уже разбил их на отдельные векторы и отсортировал их в порядке убывания. Мне нужна помощь, чтобы понять, как взять каждый вектор (длина 171) со значениями NA и разбить его на все возможные векторы длины больше 1.
То, что я ищу, выглядит примерно так:
vect_1 <- rnorm(10, mean = 12, sd = 2)
vect_1 <- sort(vect_1)
Group_by_2 <- split(vect_1, ceiling(seq_along(vect_1)/2))
Group_by_3 <- split(vect_1, ceiling(seq_along(vect_1)/3))
Group_by_4 <- split(vect_1, ceiling(seq_along(vect_1)/4))
…
Group_by_10 <- split(vect_1, ceiling(seq_along(vect_1)/10))
однако я хочу / нужно сделать это рекурсивно:
Я попробовал варианты следующего как начало, зная, что это не удовлетворяет мою потребность в сохранении каждого результата в отдельном списке:
N <- 1:length(vect_1)
for(val in 1:N){
split(vect_1, ceiling(seq_along(vect_1)/N))
print(vect_1)
}
приведенное выше дает мне только 1 список, который разбивает вектор на один список длиной N
x <- 1:10
for(i in x){
split(vect_1, ceiling(seq_along(vect_1)/x[i]))
print(vect_1)
}
, что дает мне 10 списков, все из которых идентичны и имеют длину 10.
Итак, в общем, что мне нужно, используя вектор 1-10
[1] - 1,2,3,4,5
[2] - 1,2,3,4 [2] - 5
[3] - 1,2,3 [3] - 4,5
[4] - 1,2 [4] - 3,4 [4] - 5
[5] - 1 [5] - 2 [5] - 3 [5] - 4 [5] - 5
Заранее благодарю за помощь.