gpt4 book ai didi

r - dplyr 中的总结可以不删除数据框中的其他列吗?

转载 作者:行者123 更新时间:2023-12-04 18:05:28 25 4
gpt4 key购买 nike

我有一个包含三列的数据框,我正在尝试一个简单的摘要来查找数据框中每个城市的最高温度,但还要保留列出每个最高温度的日期。

这是数据框:

我们将其称为 maxT

  new.ID       Date   Max_TemperatureF
1 TUS 1960-04-05 87
2 TUS 1984-04-24 86
3 TUS 1972-04-01 75
4 TUS 2006-04-14 91
5 TUS 2000-05-03 96
6 PHX 1960-04-05 93
7 PHX 1984-04-24 93
8 PHX 1972-04-01 84
9 PHX 2006-04-14 91
10 PHX 2000-05-03 99
11 LAS 1960-04-05 91
12 LAS 1984-04-24 86
13 LAS 1972-04-01 81
14 LAS 2006-04-14 81
15 LAS 2000-05-03 98
16 LAX 1960-04-05 72
17 LAX 1984-04-24 69
18 LAX 1972-04-01 73
19 LAX 2006-04-14 63
20 LAX 2000-05-03 69
21 SAC 1960-04-05 82
22 SAC 1984-04-24 75
23 SAC 1972-04-01 64
24 SAC 2006-04-14 71
25 SAC 2000-05-03 81
26 PSP 1960-04-05 98
27 PSP 1984-04-24 91
28 PSP 1972-04-01 91
29 PSP 2006-04-14 81
30 PSP 2000-05-03 9

每个城市都列出了 5 个温度,我想找到每个城市的最大值,然后列出日期。我正在使用 dplyr 并尝试了很多此代码的变体,但 Date 总是被丢弃在最终产品中。有没有办法添加像 drop=FALSE 或类似的条件?
maxT <- tbl_df(maxT) %>%
select(new.ID,Date,Max_TemperatureF)%>%
group_by(new.ID) %>%
summarise(max_temp= max(Max_TemperatureF))

这是我不断得到的输出:
 new.ID max_temp
1 LAS 98
2 LAX 73
3 PHX 99
4 PSP 99
5 SAC 82
6 TUS 96

谢谢。

最佳答案

我们可以尝试 filterslice .如果最大 'Max_TemperatureF' 存在关系并且想要获取所有这些行,

 tbl_df(test) %>%
group_by(new.ID) %>%
filter(Max_TemperatureF==max(Max_TemperatureF))

或者我们可以使用 which.max 获取行的索引和子集 slice
 tbl_df(test) %>% 
group_by(new.ID) %>%
slice(which.max(Max_TemperatureF))

关于r - dplyr 中的总结可以不删除数据框中的其他列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29657753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com