У меня есть объект данных, подобный следующему:
> temp2 %>% arrange(date_val) %>% select(date_val,kpi_name,kpi_value)
# Source: spark<?> [?? x 3]
# Ordered by: date_val
date_val kpi_name kpi_value
<dttm> <chr> <dbl>
1 2018-12-04 00:00:00 KPI1 0
2 2018-12-04 00:00:00 KPI2 38
3 2018-12-04 00:01:00 KPI2 55
4 2018-12-04 00:01:00 KPI1 1
5 2018-12-04 00:02:00 KPI2 55
6 2018-12-04 00:02:00 KPI1 1
7 2018-12-04 00:03:00 KPI1 0
8 2018-12-04 00:03:00 KPI2 58
9 2018-12-04 00:04:00 KPI2 45
10 2018-12-04 00:04:00 KPI1 1
# ⦠with more rows
>
Я хотел бы вставить новую строку для каждого сгруппированного date_val, который будет выполнять вычисление для этой группы date_val для kpi_name / kpi_value, доступного в текущем объекте. Например, скажем, мне нужно вычислить следующий новый KPI3 как 100 * (KPI1 / KPI2), который предоставит новый объект данных, такой как:
# Source: spark<?> [?? x 3]
# Ordered by: date_val
date_val kpi_name kpi_value
<dttm> <chr> <dbl>
1 2018-12-04 00:00:00 KPI1 0
2 2018-12-04 00:00:00 KPI2 38
3 2018-12-04 00:00:00 KPI3 0
4 2018-12-04 00:01:00 KPI2 55
5 2018-12-04 00:01:00 KPI1 1
6 2018-12-04 00:01:00 KPI3 0.018
7 2018-12-04 00:02:00 KPI2 55
8 2018-12-04 00:02:00 KPI1 1
9 2018-12-04 00:02:00 KPI3 0.018
10 2018-12-04 00:03:00 KPI1 0
11 2018-12-04 00:03:00 KPI2 58
12 2018-12-04 00:03:00 KPI3 0
13 2018-12-04 00:04:00 KPI2 45
14 2018-12-04 00:04:00 KPI1 1
15 2018-12-04 00:04:00 KPI3 0.022
# ⦠with more rows
Можно ли это сделать в DPLYR?