dplyr로 데이터 그룹 짓기 :: R 완전 기초 - mindscale
Skip to content

dplyr로 데이터 그룹 짓기

group_by을 사용하여 매출월별로 구매건수의 최대 최소를 구한다.

매출 %>% 
    group_by(매출월) %>%
    summarise(최소 = min(구매건수) , 최대 = max(구매건수))
   매출월 최소 최대 
1   1     427  49867
2   2     659  49812
3   3     103  49841
4   4      79  49953
5   5       9  49881
6   6     287  49887
7   7     119  49710
8   8      93  49887
9   9     373  49976
10 10      40  49910
11 11     503  49432
12 12     266  49936

a 점포에 대한 filter추가하기.

매출 %>% 
    filter(점포 == 'a') %>%
    group_by(매출월) %>%
    summarise(최소 = min(구매건수) , 최대 = max(구매건수))
   매출월 최소 최대 
1   1     2688 34036
2   2     3312 46754
3   3     2207 49269
4   4     5292 49118
5   5     4809 48131
6   6     5036 44950
7   7     5798 44715
8   8     1762 49040
9   9     3658 43590
10 10     4793 43553
11 11     1575 43931
12 12      283 49936

group_by(매출월, 성별)을 하게 되면 월별, 성별로 그룹을 지어준다.

매출 %>% 
    group_by(매출월, 성별) %>%
    summarise(최소 = min(구매건수) , 최대 = max(구매건수))
   매출월 성별 최소 최대 
1   1     남    615 49704
2   1     여    427 49867
3   2     남    659 49710
4   2     여    672 49812
5   3     남    103 49841
6   3     여    337 49600
7   4     남     79 49436
8   4     여    846 49953
9   5     남    462 49881
10  5     여      9 49864
11  6     남    870 49887
12  6     여    287 48928
13  7     남    119 49051
14  7     여    670 49710
15  8     남    957 49887
16  8     여     93 49591
17  9     남    959 49435
18  9     여    373 49976
19 10     남    319 49910
20 10     여     40 49630
21 11     남    503 49006
22 11     여   1020 49432
23 12     남    272 49936
24 12     여    266 49831

결과가 길어 콘솔창에 출력되지 않을 때는 View 함수를 체인에 추가한다.

매출 %>% 
    group_by('매출월', '성별') %>%
    summarise('최소' = min('구매건수') , '최대' = max('구매건수')) %>%
View

체인의 결과를 남녀월매출 변수에 저장한다.

남녀월매출 = 매출 %>% 
    group_by('매출월', '성별') %>%
    summarise('최소' = min('구매건수') , '최대' = max('구매건수'))