Создайте подсписки, изменяя индекс в R - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь создать подсписки следующей формы из другого списка, не используя цикл Список - [1, 2, 3, 4, 5] Результат - [[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]

Пожалуйста, не обращайте внимания на отсутствие у меня навыков этикета / R. Я новичок и в Stackoverflow, и в R. Спасибо.

1 Ответ

0 голосов
/ 26 июня 2018

Вычислить индексы ввода, используя seq_along, а затем применить функцию к каждому индексу, которая дает соответствующий компонент списка. (В вопросе v фактически равно seq_along(v), поэтому, если бы это было известно, решение можно было бы упростить до lapply(v, seq_len).

v <- 1:5 # test input
lapply(seq_along(v), function(x) v[seq_len(x)])

дает:

[[1]]
[1] 1

[[2]]
[1] 1 2

[[3]]
[1] 1 2 3

[[4]]
[1] 1 2 3 4

[[5]]
[1] 1 2 3 4 5
...