Узорчатый Вектор в базе - PullRequest
1 голос
/ 24 мая 2019

Я хотел бы создать вектор со следующим повторяющимся шаблоном:

1 1 2 1 2 3 1 2 3 4 ... 

, который колеблется от одной до некоторой произвольной точки остановки.

Я могу взломать его вместе, используя sapply, за которым следует unlist, как показано ниже, но, похоже, базовый вызов должен быть более прямым, чем этот.

repeating_function <- function(stop_point) { 
    res_list <- sapply(1:stop_point, FUN=function(x) {1:x}, simplify=TRUE)
    res      <- unlist(res_list)

    return(res)
} 

Который производит:

repeating_function(5)

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

1 Ответ

1 голос
/ 24 мая 2019

Более простой вариант будет

sequence(sequence(5))
#[1] 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

Обтекание в функции

repeating_function(val) {
   sequence(sequence(val))
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...