У меня есть последовательность «конечных точек», например:
c(7,10,5,11,15)
, которую я хочу расширить до последовательности «прошедшего времени» между конечными точками, например
c ( 7 , 1,2, 3,4,5,6,7,8,9, 10 , 1,2,3,4, 5 , 1,2,3,4,5,6, 7,8,9,10, 11 , 1,2,3,4,5,6,7,8,9,10,11,12,13,14, 15 )
Какой самый эффективный способ сделать это в R? Я представляю себе сом Творческое использование функции embed
, но я не могу добиться этого без использования уродливого цикла for
.
Вот наивный способ сделать это:
expandSequence <- function(x) {
out <- x[1]
for (y in (x[-1])) {
out <- c(out,seq(1,y))
}
return(out)
}
expandSequence(c(7,10,5,11,15))