Вычислить произведение всех следующих векторных элементов в R

#r

#r

Вопрос:

У меня есть некоторый произвольный вектор, такой как

 v <- seq(1,5)
  

Для каждого индекса v мне теперь нужно вычислить произведение всех следующих элементов v .

Здесь результатом будет вектор w=(5*4*3*2,5*4*3,5*4,5,1) , но для этого мне нужен общий алгоритм. Я пытаюсь избежать цикла (что является очевидным решением).

Ответ №1:

Вы можете использовать cumprod с rev :

 c(rev(cumprod(rev(v[-1]))), 1)
#[1] 120  60  20   5   1