본문 바로가기

R데이터전처리

[R-전처리] 데이터 집계함수(dplyr group_by 최빈값과 순위 계산)

 

< 실습 데이터 >

2017년 기준의 경기도 내 SSM(Super Super Market) 기업형 슈퍼마켓 현황 데이터

 

SSM_gyeonggi.csv
0.02MB

 

ssm <- read.csv("C:\\Users\\user\\Desktop\\data\\SSM_gyeonggi.csv", 
                  header=T, stringsAsFactor=F)

str(ssm)
View(ssm)

 

 

 

 

< 최빈값 계산 >

최빈값은 주어진 데이터에서 가장 많은 개수로 나타나는 값을 뜻한다.

R에는 최빈값을 계산해주는 함수(mode)는 따로 없어서 출현 횟수를 계산한 후에 출현 횟수가 최대가 되는 범주값을 찾으면 된다.

 

View(table(ssm$브랜드명))  # 브랜드명 출현 빈도 계산

 

 

 

 

which.max( )는 전달된 벡터에서 최대값이 되는 벡터의 요소를 반환해준다.

which.min( )는 전달된 벡터에서 최소값이 되는 벡터의 요소를 반환해준다.

 

names( )는 전달된 벡터의 벡터 속성 정보를 반환환다.

names(which.max(table(ssm$브랜드명)))  # 최빈값

 

 

 

 

 

 

< 순위 계산 >

dplyr 패키지에서 순위를 계산할 수 있고, 

집계 기준은 브랜드명으로 해서 빈도를 카운트 한 뒤, 

min_rank함수를 이용해 내림차순으로 순위를 부여한다.

 

library(dplyr)

ssm %>%
  group_by(브랜드명) %>%
  summarise(cnt = n()) %>%
  transmute(브랜드명, cnt_rank = min_rank(desc(cnt))) %>%
  View()