如何通过分组r在多个列中查找最大值并返回值和最大值数据

时间:2019-10-30 10:23:11

标签: r date group-by max multiple-columns

我有一个名为“ Ak_total”的df,具有3819 obj和93变量。 我想按组(Ak_total $ Year)从6:93计算每列的最大值。

问题是我不仅想获取每一年的每一列的最大值(这很简单),而且要找到出现最大值时的日期/日期(Ak_total $ Date)。

示例:

Year    Date    BetulaMAX
1998    1998-05-26  42
1999    1999-06-07  32
2000    2000-06-04  173
2001    2001-06-03  113
2002    2002-06-05  65

Year    Date    GrassMax
1998    1998-08-27  260
1999    1999-08-19  215
2000    2000-08-02  173
2001    2001-08-23  76
2002    2002-08-22  193

我做到了

max value (Peak DATE)

max_all <- function(x) if(length(x))x==max(x)

Ak_max_date_Betula <- subset(Ak_total,!!ave(Betula, Year, FUN=max_all))

但是我只得到一列(Betula)的最大值和数据。

是否有可能一次对所有列执行该操作?

0 个答案:

没有答案