Ich möchte cumsum
über einen Vektor zurücksetzen, wie es bestimmten Wert erreicht.Reset Cumsum, wie es bestimmten Wert erreicht
z. für den folgenden Vektor:
v <- c(3, 5, 2, 5, 3, 4, 5, 3, 1, 4)
erwartete Ausgabe ist:
c(0, 0, 10, 0, 0, 22, 0, 30, 0, 0)
Mit reset <- 10
mir die Aufgabe, das Markieren der ersten Werte nach der vollständigen ganzen Zahl reduzieren:
res <- cumsum(v)
resd <- res/reset
resd
# [1] 0.3 0.8 1.0 1.5 1.8 2.2 2.7 3.0 3.1 3.5
Erwartete Ausgabe ist dies:
c(F, F, T, F, F, T, F, T, F, F) # or
c(0, 0, 1.0, 0, 0, 2.2, 0, 3.0, 0, 0)
Ich brauche einen schnellen Weg, um einen davon zu berechnen.
vielleicht '> = 1' anstelle von' == 1'? – user31264
Ja, ich denke das ist es! – Bulat
Dies funktioniert nicht, wenn der erste Wert von 'v' bereits 10 ist ... – digEmAll