2015-07-02 8 views
5

अधिक संक्षेप में प्रस्तुत dplyr मैं इस तरह के डेटा फ्रेम है:नेस्टेड group_by

 Date Amount Category 
1 02.07.15  1  1 
2 02.07.15  2  1 
3 02.07.15  3  1 
4 02.07.15  4  2 
5 03.07.15  5  2 
6 04.07.15  6  3 
7 05.07.15  7  3 
8 06.07.15  8  3 
9 07.07.15  9  4 
10 08.07.15  10  5 
11 09.07.15  11  6 
12 10.07.15  12  4 
13 11.07.15  13  4 
14 12.07.15  14  5 
15 13.07.15  15  5 
16 14.07.15  16  6 
17 15.07.15  17  6 
18 16.07.15  18  5 
19 17.07.15  19  4 

मैं एक वर्ग में प्रत्येक एक दिन के लिए राशि की राशि की गणना करना चाहते हैं। मेरे प्रयास (कोड देखें) दोनों पर्याप्त नहीं हैं।

summarise(group_by(testData, Category), sum(Amount)) 

गलत उत्पादन -> यहां योग प्रत्येक समूह से अधिक गणना की जाती है

Category sum(Amount) 
1  1   6 
2  2   9 
3  3   21 
4  4   53 
5  5   57 
6  6   44 

summarise(group_by(testData, Date), sum(Amount), categories = toString(Category)) 

गलत उत्पादन -> यहाँ राशि प्रत्येक दिन से अधिक गणना की जाती है लेकिन श्रेणियों

 Date sum(Amount) categories 
1 02.07.15   10 1, 1, 1, 2 
2 03.07.15   5   2 
3 04.07.15   6   3 
4 05.07.15   7   3 
5 06.07.15   8   3 
6 07.07.15   9   4 
7 08.07.15   10   5 
8 09.07.15   11   6 
9 10.07.15   12   4 
10 11.07.15   13   4 
11 12.07.15   14   5 
12 13.07.15   15   5 
13 14.07.15   16   6 
14 15.07.15   17   6 
15 16.07.15   18   5 
16 17.07.15   19   4 
नहीं माना जाता है

अभी तक मैं दोनों कथनों को संयोजित करने में सफल नहीं हुआ। प्रत्येक श्रेणी में प्रत्येक दिन के लिए राशि की राशि की गणना करने के लिए मैं group_by दोनों कथन कैसे घोंसला कर सकता हूं?

जैसे समूहों घोंसले के शिकार:

संक्षेप (group_by (group_by (testData, दिनांक), श्रेणी), योग (राशि), दिनांक = toString (दिनांक))

Category sum(Amount)         dates 
1  1   6   02.07.15, 02.07.15, 02.07.15 
2  2   9      02.07.15, 03.07.15 
3  3   21   04.07.15, 05.07.15, 06.07.15 
4  4   53 07.07.15, 10.07.15, 11.07.15, 17.07.15 
5  5   57 08.07.15, 12.07.15, 13.07.15, 16.07.15 
6  6   44   09.07.15, 14.07.15, 15.07.15 

के रूप में काम नहीं करता है इरादा है।

मैं dplyr - summarise weighted datasummarise_each बारे में सुना है, लेकिन यह काम करने के लिए नहीं मिल सका:

summarise_each(testData, funs(Category)) 
Error could not find function Category 
+0

आपको बहुत बहुत धन्यवाद अपनी टिप्पणी समाधान है –

उत्तर

5

आप कोशिश कर सकते हैं

testData %>% 
     group_by(Date,Category) %>% 
     summarise(Amount= sum(Amount)) 
संबंधित मुद्दे