【发布时间】:2022-01-22 08:46:50
【问题描述】:
我有以下数据框,我想创建“OUTPUT_COLUMN”。
列说明:
- ID 是策略的标识号
- ID_REG_YEAR 是每个注册年份的标识号
- CALENDAR_YEAR 是政策暴露的年份
- NUMBER_OF_RENEWALS 是政策已续订的数字计数
- ACCIDENT 是事故发生
数据集的关键: ID_REG_YEAR 和 CALENDAR_YEAR
基本上,如果列 NUMBER_OF_RENEWALS = 0 则 OUTPUT_COLUMN = 100。之前未发生事故的任何行都应包含 100(例如第 13、16、17 行)。如果发生事故,我想计算下一次事故前的续订次数。
ID ID_REG_YEAR CALENDAR_YEAR NUMBER_OF_RENEWALS ACCIDENT OUTPUT_COLUMN
1 A A_2015 2015 0 YES 100
2 A A_2015 2016 0 YES 100
3 A A_2016 2016 1 YES 0
4 A A_2016 2017 1 YES 0
5 A A_2017 2017 2 NO 1
6 A A_2017 2018 2 NO 1
7 A A_2018 2018 3 NO 2
8 A A_2018 2019 3 NO 2
9 A A_2019 2019 4 YES 0
10 A A_2019 2020 4 YES 0
11 B B_2015 2015 0 NO 100
12 B B_2015 2016 0 NO 100
13 B B_2016 2016 1 NO 100
14 C C_2013 2013 0 NO 100
15 C C_2013 2014 0 NO 100
16 C C_2014 2014 1 NO 100
17 C C_2014 2015 1 NO 100
18 C C_2015 2015 2 YES 0
19 C C_2015 2016 2 YES 0
20 C C_2016 2016 3 NO 1
21 C C_2016 2017 3 NO 1
22 C C_2017 2017 4 NO 2
23 C C_2017 2018 4 NO 2
24 C C_2018 2018 5 YES 0
25 C C_2018 2019 5 YES 0
26 C C_2019 2019 6 NO 1
27 C C_2019 2020 6 NO 1
28 C C_2020 2020 7 NO 2
【问题讨论】:
标签: r dataframe dplyr data.table