使用R查找最大值之前的行

Finding the row before maximum value using R

我有兴趣在 R 中找到最大值之前的行。数据框如下所示:

    timeround   n
1   01:00   11
2   02:00   6
3   03:00   4
4   04:00   4
5   05:00   7
6   06:00   22
7   07:00   63
8   08:00   142
9   09:00   155
10  10:00   220
11  11:00   143
12  12:00   98
13  13:00   111
14  14:00   115
15  15:00   129
16  16:00   128
17  17:00   102
18  18:00   90
19  19:00   108
20  20:00   92
21  21:00   90
22  22:00   102
23  23:00   44
24  24:00   20

目前我可以显示最大值,使用:

with(tweetcount, timeround[n== max(n)])

给我值“10:00”

如何计算 R 以给出最大值之前的值 - 在本例中为“9:00”?

你可以使用 which

with(tweetcount, timeround[which(n== max(n))-1])

如果只有一个 max

 tweetcount$timeround[which.max(tweetcount$n)-1]