6.6 gl() 함수를 이용한 요인의 생성

R 언어의 gl() 함수는 수준의 패턴을 지정하여 원하는 요인을 생성하는 데 사용됩니다.

gl(x, k, length, labels, ordered)

인수

  • x : 레벨 수
  • k : 복제 수
  • length : 생성된 결과의 길이(요소 갯수)
  • labels : 벡터에 대한 레이블 (선택 사항)
  • ordered : 수준의 서열화 여부

gl() 함수를 이용하여 요인을 생성하는 예를 살펴 보겠습니다.

# gl() 함수를 이용한 요인 생성 : x와 k만 지정한 경우
x1 <- gl(2, 5)              # 1부터 2까지의 정수를 수준으로 하여 각 요소를 5번씩 복제하여 요인을 생성합니다.
x1
##  [1] 1 1 1 1 1 2 2 2 2 2
## Levels: 1 2
# gl() 함수를 이용한 요인 생성 : 길이를 지정한 경우
x2 <- gl(3, 4, 12)          # 1부터 3까지의 정수를 수준으로 하여 각 요소를 4번씩 복제하여 요인을 생성합니다.
x2
##  [1] 1 1 1 1 2 2 2 2 3 3 3 3
## Levels: 1 2 3
# gl() 함수를 이용한 요인 생성 : 길이와 라벨을 지정한 경우
x3 <- gl(3, 4, 12, label = letters[1:12])   # letters[1:3]까지의 값을 각각 4번씩 복제하여 
x3                                          # 12개의 요소로 구성된 요인을 생성합니다.
##  [1] a a a a b b b b c c c c
## Levels: a b c d e f g h i j k l
levels(x3)                                  # 이때 수준은 letters[1:12]가 됩니다.
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"
# gl() 함수를 이용한 요인 생성 : 길이와 라벨과 서열화 여부를 지정한 경우 
x4 <- gl(3, 4, 12, 
         label = letters[1:12], ordered = T)   # 앞의 x3의 특성에 levels가 서열화되도록 설정합니다.
x4                                             # Levels: a < b < .... < l 로 확인할 수 있습니다.
##  [1] a a a a b b b b c c c c
## Levels: a < b < c < d < e < f < g < h < i < j < k < l
is.ordered(x4)
## [1] TRUE