我正在处理像df这样的面板数据。所以我有一个唯一的 UserID (Uid)、一个 TimeVariable (TV) 和我感兴趣的主要变量(MV,虚拟编码)。每行代表一个唯一的 UiD 电视组合。现在我想创建一个新变量(NV),它基本上计算在电视时间之前发生的事件数(MV=1)。
内容:我想要一个计数变量(NV),它基本上计算每个时刻事件 MV=1 到那个时刻(TV)发生的频率。
到目前为止,我只能设法对每个 UserId 进行总结,但不能提高水平。
到目前为止我所管理的:
df <- df %>% group_by(user_id) %>% mutate(NV=count_if(1,MV))
MV 的每个用户 ID 将结果汇总给我
所以df看起来像:
UI TV MV
1 1 0
1 2 1
1 3 0
2 1 0
2 2 0
2 3 1
2 4 2
3 1 1
3 2 0
3 3 1
3 4 1
到目前为止,我的代码的结果是:
UI TV MV NV
1 1 0 1
1 2 1 1
1 3 0 1
2 1 0 2
2 2 0 2
2 3 1 2
2 4 2 2
3 1 1 3
3 2 0 3
3 3 1 3
3 4 1 3
我真正想要的:
UI TV MV NV
1 1 0 0
1 2 1 1
1 3 0 1
2 1 0 0
2 2 0 0
2 3 1 1
2 4 2 2
3 1 1 1
3 2 0 1
3 3 1 2
3 4 1 3
非常感谢您的帮助!