본문 바로가기

Data

[R] factor 자료형에 대하여

Factor는 인덱스와 같은 제한된 숫자값을 갖고있는 자료형이다. 통계적 모델링(그래프 요소의 순서처리 등)을 위해 주로 사용되고, 같은 value값을 지닌 데이터간의 안정성이 보장되는 이점이 있다. 또, 그만큼 데이터 복사/처리 등이 쉽게 이뤄지지 않으므로 일반적으로 가공과정에서는 사용하지 말것을 권장한다.


 csv, excel등의 데이터를 R데이터 타입으로 변환하거나 생성할때 stringAsFactors 옵션을 통해 해당 데이터를 Factor로 다룰것인지 옵션을 줄 수 있다.

credit_rating <- c("A", "A", "BB")
bond_owners <- c("Dan", "Tom", "Joe")
bonds <- data.frame(credit_rating, bond_owners, stringsAsFactors = T)
bonds

bonds 데이터프레임을 생성하고 열어 보면 아래와 같은 결과가 나온다.

> bonds
  credit_rating bond_owners
1             A         Dan
2             A         Tom
3            BB         Joe

bonds 데이터프레임을 열어보면 credit_rating은 2개의 레벨을 갖고있는 Factor자료형, bond_owners는 3개의 레벨을 갖고있는 Factor자료형임을 알 수 있다.

> str(bonds)
'data.frame':	3 obs. of  2 variables:
 $ credit_rating: Factor w/ 2 levels "A","BB": 1 1 2
 $ bond_owners  : Factor w/ 3 levels "Dan","Joe","Tom": 1 3 2