Wie erstelle ich einen selbstkumulierenden Vektor in R

Ich denke, das ist sehr einfach, aber mein R-Kung-Fu ist schwach. Ich versuche, auf kumulative Weise einen Vektor von sich selbst zu erzeugen. Dieser Code funktioniert, aber ich hätte gerne etwas viel eleganteres und automatisierteres. Ich habe Millionen von Zeilen, die kumuliert werden müssen.

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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage