我有如下表
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。有任何想法吗?
这是您想要的吗?
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)