최빈값
최빈값mode은 데이터에서 가장 자주 나타난 값을 말한다. 최빈값은 table( )을 사용해 각 데이터가 출현한 횟수를 센 분할표Contingency Table를 만들고, which.max( )를 사용해 최대 빈도가 저장된 색인을 찾는 방법으로 구할 수 있다. 이 두 함수에 대해 살펴보자.
table : 분할표를 작성한다. |
table(
... # 팩터로 해석할 수 있는 하나 이상의 객체
)
반환 값은 table 클래스의 인스턴스로, 인자의 ...에 지정한 팩터들의 모든 조합에 대해 빈도수를 구한 결과를 저장하고 있다. |
which.max : 최댓값이 저장된 위치의 색인을 반환한다. |
which.max(
x # 숫자 벡터
)
반환 값은 x에서 최댓값이 저장된 위치의 색인이다. |
다음 코드는 문자열 벡터 c(“a”, “b”, “c”, “c”, “c”, “d”, “d”)로부터 가장 자주 출현한 문자열 “c”를 찾는 예다. 최빈값 자체를 구할 때는 names( )를 사용해 분할표에서 각 셀의 이름을 구한 다음, 최댓값이 저장된 셀을 선택했다.
> (x <- factor(c("a", "b", "c", "c", "c", "d", "d"))) [1] a b c c c d d Levels: a b c d > table(x) # 팩터의 각 레벨(level)별 빈도수를 구한다. x a b c d 1 1 3 2 > which.max(table(x)) # 가장 큰 값이 저장된 셀의 색인은 3 c 3 > names(table(x))[3] # 가장 큰 값이 저장된 셀의 이름 [1] "c"