r - 如何根据组获取数据框中变量的最大值行?
问题描述
我在 RStudio 中使用 dplyr 包来处理我的数据。我有一个df_acc
包含多个变量的数据框()。我想获得一个变量(加速度)的最大值,并根据他们的组获得与之关联的时间变量。这组数据、加速度和时间应该保存在另一个名为df_acc_max
.
但是,我不知道应该如何获取与每个组 ID 关联的时间。
下面的代码只是给了我最大值:
df_acc_max <- df_acc %>%
group_by(Channel_ID) %>%
summarise(max_acc = max(Acceleration))
Channel_ID max_acc
<chr> <dbl>
1 01.HNN 0.188
2 02.HNE 0.172
3 03.HNZ 0.115
4 04.HNE 0.372
5 05.HNN 0.269
6 06.HNE 0.412
尝试了以下代码:
df_acc_max <- df_acc %>%
group_by(Channel_ID) %>%
summarise(summarise(max_acc = max(Acceleration)))
cbind (Time = df_acc$Time[which.max(df_acc$Acceleration)])
但它给了我错误的答案(所有频道的值相同):
Channel_ID max_acc Time
1 01.HNN 0.1883840 52.255
2 02.HNE 0.1719885 52.255
3 03.HNZ 0.1145866 52.255
4 04.HNE 0.3717064 52.255
5 05.HNN 0.2691152 52.255
6 06.HNE 0.4118312 52.255
解决方案
尝试
df_acc_max <- df_acc %>%
group_by(Channel_ID) %>%
filter(Acceleration == max(Acceleration))
推荐阅读
- c# - 根据一些字段生成唯一长值
- javascript - 如何遍历 json 结果并添加到数组中?
- ibm-cloud - IBM Watson Chatbot - 读取和写入 CSV/excel
- syntax - Why does a line starting with "-->" not throw an error in Javascript?
- vaadin - Vaadin 12 中的水平和垂直布局没有响应
- if-statement - 如何根据 hive 中的其他列代码计算列
- php - 在 POSTMAN 上使用 PUT 方法上传文件
- python-3.x - 使用 quickfix python 找不到会话错误?
- c# - c# WPF Xdocument 在网络上加载文件
- c++ - 操作符的重载和拷贝的构造函数