더북(TheBook)

팩터

팩터Factor는 범주형Categorical 데이터(자료)를 표현하기 위한 데이터 타입이다.1

범주형 데이터란 데이터가 사전에 정해진 특정 유형으로만 분류되는 경우를 뜻한다. 예를 들어, 방의 크기를 대, 중, 소로 나누어 기재하고 있을 때 특정 방의 크기를 ‘대’라고 적는다면 이 값은 범주형 데이터다. 이와 같이 범주형 변수가 담을 수 있는 값의 목록(이 예에서는 대, 중, 소)을 레벨(수준)level이라고 한다. 따라서 범주형 데이터를 저장하는 데이터 타입인 팩터에는 관측된 값뿐만 아니라 관측 가능한 값의 레벨도 나열해야 한다.

범주형 데이터는 또 다시 명목형Nominal과 순서형Ordinal으로 구분된다. 명목형 데이터는 값들 간에 크기 비교가 불가능한 경우를 뜻한다. 예를 들어, 정치적 성향을 좌파, 우파로 구분하여 저장한 데이터는 명목형이다. 반면 순서형 데이터는 대, 중, 소와 같이 값에 순서를 둘 수 있는 경우를 말한다.

범주형 데이터에 상반하는 개념에는 수치형Numerical 데이터가 있다. 수치형 데이터는 값을 측정하거나 개수를 세는 경우와 같이 숫자로 나온 값을 의미한다. 예를 들어, 방의 크기를 30㎡, 28㎡와 같이 기록하는 경우나 학생들의 성적이 이에 해당한다.

팩터와 관련한 함수를 표 2-3에 나열했다.

표 2-3 팩터 관련 함수

factor : 팩터 값을 생성한다.

factor(
   X,       # 팩터로 표현하고자 하는 값(주로 문자열 벡터로 지정)
   levels,  # 값의 레벨
   ordered  # TRUE면 순서형, FALSE면 명목형 데이터를 뜻한다. 기본값은 FALSE>다.
)

반환 값은 팩터형 데이터 값이다.

nlevels : 팩터에서 레벨의 개수를 반환한다.

nlevels(
   x  # 팩터 값 
)

반환 값은 팩터 값의 레벨 개수다.

levels : 팩터에서 레벨의 목록을 반환한다.

levels(
   x  # 팩터 값 
)

반환 값은 팩터에서 레벨의 목록이다.

is.factor : 주어진 값이 팩터인지를 판단한다.

is.factor(
   x  # R 객체 
)

반환 값은 x가 팩터면 TRUE, 그렇지 않으면 FALSE다.

ordered : 순서형 팩터를 생성한다.

ordered(
   x  # 팩터로 표현하고자 하는 값(주로 문자열 벡터로 지정)
)

is.ordered : 순서형 팩터인지를 판단한다.

is.ordered(
   x  # R 객체 
)

반환 값은 x가 순서형 팩터면 TRUE, 그렇지 않으면 FALSE다.

<Warning>

설명과 이해의 편의를 위해 이 책에서는 실제 R 언어의 프로토타입을 알기 쉽게 풀어서 적거나 많은 인자를 생략했다. 정확한 함수 프로토타입은 help(함수명)으로 확인하기 바란다.


1 Factor를 ‘요인’으로 번역하기도 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.