2 votes

Somme des lignes précédentes dans une colonne R

J'ai une table comme suit

id State
1 True
2 False
3 True
4 False
5 False
6 True
7 True
8 False

J'ai besoin de compter le nombre de vrai et de faux jusqu'à la ligne affichée. Le résultat devrait être comme le tableau suivant

id State  Oui  Non
1 True     1    0
2 False    1    1
3 True     2    1
4 False    2    2
5 False    2    3
6 True     3    3
7 True     4    3
8 False    4    4

Jusqu'à la 6ème (y compris la 6ème) rangée, il y a 3 Faux et 3 Vraie. Des idées ?

4voto

Richard Telford Points 5637

Est-ce que cela fait ce que vous voulez?

df$yes <- cumsum(df$State == "True")
df$no <- cumsum(df$State == "False")

Ou si vous avez df$State en tant que vecteur logique

df$yes <- cumsum(df$State)
df$no <- cumsum(!df$State)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X