Начиная со всех индексов вектора z. Они задаются следующим образом:
1:length(z)
Затем эти элементы следует повторить. Количество повторений этих чисел определяется значениями z. Это можно сделать с помощью комбинации функций lapply
или sapply
и функции rep
:
unlist(lapply(X = 1:length(z), FUN = function(x) rep(x = x, times = z[x])))
[1] 1 1 1 2 2 3 3 3 3 4 4 5
unlist(sapply(X = 1:length(z), FUN = function(x) rep(x = x, times = z[x])))
[1] 1 1 1 2 2 3 3 3 3 4 4 5
Обе альтернативы дают одинаковый результат.