Como criar vetor auto-acumulável em R

Eu acho que isso é muito fácil, mas meu R kung-fu é fraco. Estou tentando criar um vetor de si mesmo de maneira cumulativa. Esse código funciona, mas eu gostaria de algo muito mais elegante e automatizado. Eu tenho milhões de linhas que precisam ser acumuladas.

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

questionAnswers(1)

yourAnswerToTheQuestion