R列中前几行的总和

Eti*_*nov 2 r roc

我有如下表

id State
1 True
2 False
3 True
4 False
5 False
6 True
7 True
8 False
Run Code Online (Sandbox Code Playgroud)

在显示行之前,我需要计算是非。所以结果应该如下表

id State  Yes   No
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
Run Code Online (Sandbox Code Playgroud)

直到第6行(包括第6行)为止,存在3个False和3个True。有任何想法吗?

Ric*_*ord 5

这是您想要的吗?

df$yes <- cumsum(df$State == "True")
df$no <- cumsum(df$State == "False")
Run Code Online (Sandbox Code Playgroud)

或者,如果您将df $ State作为逻辑矢量

df$yes <- cumsum(df$State)
df$no <- cumsum(!df$State)
Run Code Online (Sandbox Code Playgroud)