Как взять элементы вектора numberri c в R и создать новый вектор, содержащий seq из 1: (каждый элемент) - PullRequest
1 голос
/ 25 марта 2020

Допустим, у меня есть вектор с именем input <- c(8,5,2). Я хочу создать новый вектор, в котором по существу c(1:8, 1:5, 1:2). Я могу сделать это следующим ужасным образом:

input <- c(8,5,2);
newvec <- c();
for(num in input) newvec <- append(newvec, 1:num);
newvec

Но я чувствую, что это должно быть выполнимо в одну строку, и я, вероятно, просто не обращаю внимания на простое решение.

1 Ответ

1 голос
/ 25 марта 2020

Более простой вариант R - sequence

sequence(input)
#[1] 1 2 3 4 5 6 7 8 1 2 3 4 5 1 2

Или используйте lapply и unlist

unlist(lapply(input, seq))
...