2015-03-13 53 views
3

我很感興趣,在河的最大值數據框看起來像在此之前發現的行查找行之前的最大值:,使用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)]) 

給我值「00」的

如何計算R鍵給我最大值前值 - 在這種情況下,「9:00」?

+0

@akrun打我給它 – 2015-03-13 16:07:23

+0

,因爲它看起來像你的數據在24小時工作期間,值得指出的是,如果最大值處於「01:00」,那麼您將通過此方法而不是24:00獲得空數據框。不知道這對你是否有問題。 – ping 2015-03-13 16:17:28

+0

這是一個很好的觀點@ping - 但它是非常不可能的,它將永遠是01:00,將保持最大值。我想這可以用'if函數'來解決 - 但這裏再次沒有必要。 – 2015-03-13 16:38:53

回答

2

你可以使用which

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

如果只有一個max

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

完美!奇蹟般有效。感謝akrun。 – 2015-03-13 16:10:21

+0

@EmilLykkeJensen沒問題。很高興幫助你 – akrun 2015-03-13 16:10:48

+0

會做 - 但我必須再等5分鐘;) – 2015-03-13 16:13:12