我有一个包含三列的数据框,我正在尝试一个简单的摘要来查找数据框中每个城市的最高温度,同时还保留每个最高温度的日期.
这是数据框:
我们称之为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
Run Code Online (Sandbox Code Playgroud)
每个城市都列出了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))
Run Code Online (Sandbox Code Playgroud)
这是我不断得到的输出:
new.ID max_temp
1 LAS 98
2 LAX 73
3 PHX 99
4 PSP 99
5 SAC 82
6 TUS 96
Run Code Online (Sandbox Code Playgroud)
谢谢.
我们可以尝试filter或slice。如果最大“Max_TemperatureF”存在关联并且想要获取所有这些行,
tbl_df(test) %>%
group_by(new.ID) %>%
filter(Max_TemperatureF==max(Max_TemperatureF))
Run Code Online (Sandbox Code Playgroud)
或者我们可以获取行的索引which.max和子集slice
tbl_df(test) %>%
group_by(new.ID) %>%
slice(which.max(Max_TemperatureF))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1988 次 |
| 最近记录: |