Я пытаюсь суммировать столбец в другой таблице и поместить его в мою текущую таблицу на основе ряда условий.
table1 <- tribble(~company_id,~date,
1,"2018-01-02",
1,"2018-01-03",
2,"2018-01-02",
2,"2018-01-03")
table2 <- tribble(~other_id, company_id,~date_created,~max_rank,rank,date_closed,
1,1,"2018-01-02",20,2,NA,
1,1,"2018-01-03",22,1,NA,
2,2,"2018-01-02",20,5,NA,
2,2,"2018-01-03",22,4,NA)
Я хочу создать новый столбец в таблице 1, который будет содержать следующую формулу:
= sum( (max_rank-rank)/(max_rank-1))
но только когда:
(date<=date_created, date>(date_created+20), date<date_closed, max_rank-1!=0, rank!=0)
Редактировать
Результат, который я надеюсь достичь, должен выглядеть следующим образом:
Table 1
| company id | date | cc score |
---------------------------------------
| 1 | 2018-01-02 | 0.9473 |
| 1 | 2018-01-03 | 1.9473 |
| 2 | 2018-01-02 | 0.7895 |
| 2 | 2018-01-03 | 1.6466 |
Первое можно рассчитать как (20-2) / (20-1) = 0,9473
Второе рассчитывается как (20-2) / (20-1) + (22-1) / (22-1) = 1,9473