【发布时间】:2020-01-07 02:49:28
【问题描述】:
我正在搜索在一个组条件下计算函数。 agg_name 描述了要评估的函数,这个向量的长度可以是 1 到 N。这里 N = 5,所有可能性都是已知的,但我更喜欢一般的。
agg_name <- c("Sum = sum(val)", "Mean = mean(val)")
df <- data.frame(dateDay = Sys.Date()-rep(0:2, each = 3), val = 1:9)
到目前为止的尝试:
df <- df %>%
group_by(dateDay) %>%
summarise(eval(paste(agg_name, collapse = ",")))
预期输出:
dateDay Sum Mean
1 2019-09-04 6 2
2 2019-09-03 15 5
3 2019-09-02 24 8
如果agg_name 包含Max = max(val),则会创建另一列。
任何帮助将不胜感激。
【问题讨论】:
标签: r dataframe group-by dplyr summarize