Как создать самокопирующий вектор в R

Я думаю, что это очень легко, но мой R кунг-фу слаб. Я пытаюсь создать вектор сам по себе в совокупности. Этот код работает, но я бы хотел что-то более элегантное и автоматизированное. У меня есть миллионы строк, которые необходимо собрать.

a <- c(4,4,5,1,9)
a <- a[order(-a[])]
k <- a[1:length(a)]/sum(a)
w <- c(k[1],k[1]+k[2],k[1]+k[2]+k[3],k[1]+k[2]+k[3]+k[4],k[1]+k[2]+k[3]+k[4]+k[5])
w

Ответы на вопрос(2)

Ваш ответ на вопрос