r - 如何通过分组r在多列中找到最大值并返回值和最大值的数据
问题描述
我有一个名为“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)的最大值和数据。
是否有可能一次性对所有列执行此操作?
解决方案
推荐阅读
- core - MS chart 将图表缩放到一个区域
- python - 如何将看起来像列表的 str 转换为没有库 ast 的列表
- trello - 如何使用 Trello API 获取板、列表和卡片的上次更新时间戳?
- flutter - 找不到正确的提供者 - Flutter
- python-3.x - 检测python3中的键盘按键
- visual-studio-code - 如何在 vscode 中定义 pytorch 函数
- angular - 带导航的角侧板
- javascript - 在 jquery 函数中设置变量
- javascript - 如何使用变量来决定对 DOM 元素进行哪些更改?
- tableau-api - Tableau - 将一个计算的结果作为过滤器传递以从另一个数据源获取数据