【发布时间】:2019-01-15 18:46:52
【问题描述】:
我有一个类似于以下的数据对象:
> 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 插入一个新行,这将对当前对象中可用的 kpi_name/kpi_value 执行该 date_val 组的计算。例如,假设我需要将以下新 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 中完成吗?
【问题讨论】: