2017-02-15 23 views
-1

下面是我的數據幀命名的數據:如何取數的平均值爲所有的ID

slot id time number 

    1  1  0  6 
    1  1  1  8 
    1  1  2  3 
    1  1  3  6 
    1  1  4  8 
    1  1  5  3 
.... 
    1  1  23 9 
    1  2  0 6 
    1  2  1 9 
    1  2  2 3 
    1  2  3 6 
    1  2  4 9 
    1  2  5 6 
    1  2  6 9 
    1  2  7 6 
    1  2  8 3 
.... 
    1  2  23 3 

.... 


    2  1  0  8 
    2  1  1  3 
    2  1  2  8 
    2  1  3  3 

..... 
    2  1  3  3 
..... 


30 80 23  3 

同樣我有30個插槽,82號和23時(0-23)。所以我想利用每個ID的平均值。 最初過濾一個ID:

slot id time number 

    1  1  0  6 
    1  1  1  8 
    1  1  2  3 
    1  1  3  6 
    1  1  4  8 
    1  1  5  3 
.... 
    1  1  23 9 
    2  1  0  8 
    2  1  1  3 
    2  1  2  8 
    2  1  3  3 
..... 
30 1  23 3 

所以想採取數均用於上述ID,這意味着由720(24 * 30)添加所有數和除法。 average=sum(data$number)/720

所以對於一個ID,我可以很容易地做到這一點,但如何爲所有的ID在同一時間和存儲像一個數據幀做到這一點:

id  average 
___ _______ 
1  ** 
... 
80  ** 

任何幫助表示讚賞

回答

1
df %>% 
    group_by(id) %>% 
    summarise(average = mean(number)) 
+2

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文可以提高答案的長期價值。 –