R의 요인과 행렬

빅데이터/R 2018. 12. 9. 22:28

R의 요인과 행렬



1. 요인

1) 요인의 개념

요인(factor)은 R의 데이터 중에서 하나이며 벡터의 한 종류라고 할 수 있습니다. 벡터와 요인 모두 1차원의 형태로 구성되어 있다는 점이 동일합니다. 요인은 주로 집단별로 자료를 분석하고자 할 때에 특정 자료를 범주형 자료로 변경해주는 역할을 합니다.

(1) 벡터 : 범주형 자료로 인식하지 못함

(2) 요인 : 범주형 자료로 인식함


2) 요인을 생성하는 방법

요인을 생성할때는 factor() 함수를 사용합니다. 

(1) factor(x) 함수의 사용법

argument

설명

x

벡터를 지정

levels

그룹으로 지정할 문자형 벡터를 지정하며 levels를 쓰지 않으면 오름차순으로 구분하여 자체적으로 그룹을 지정

labels

levels에 대한 문자형 벡터를 지정(라벨을 달아 해당 문자로 대체)

ordered

levels에 대해 특정한 순서를 정하고 싶으면 TRUE를 지정


> gender = c("m""f","f","m","f","f")
> gender    # 현재 gender라는 벡터는 범주형 자료가 아님
[1"m" "f" "f" "m" "f" "f"
> gender_factor = factor(gender)    # 요인으로 변환된 gender_factor는 범주형 자료로 남자(m) 집단과 여자(f)집단으로 구분
> gender_factor
[1] m f f m f f
Levels: f m
cs


(2) levels, labels argument

levels argument는 어느 집단을 먼저 인식할 것인지를 결정할 때 사용하고, labels argument는 벡터에 있는 각각의 원소의 값을 다른 문자형 유형으로 변경할 경우 사용됩니다. 

> gender = c("m""f","f","m","f","f")
> gender
[1"m" "f" "f" "m" "f" "f"
> gender_factor2 = factor(gender, levels=c("m","f"), labels = c("남자","여자"))
> gender_factor2
[1] 남자 여자 여자 남자 여자 여자
Levels: 남자 여자
cs


(3) ordered argument

ordered argument는 집단으로 요인을 생성하면서 순서도 의미를 부여하는 방법입니다. 통계에서 말하는 질적 자료이면서 순서형 자료가 됩니다.

> gender = c("m""f","f","m","f","f")
> gender
[1"m" "f" "f" "m" "f" "f"
> gender_factor3 = factor(gender, ordered=TRUE)
> gender_factor3
[1] m f f m f f
Levels: f < m
cs


※ levels() 함수

요인이 가지는 집단이 몇 개 이며, 각 집단의 이름이 무엇인지를 알고자 할 경우 사용합니다.

> levels(gender_factor)    # gender_factor가 두 개의 집단으로 구성, 각 집단의 이름은 f와 m으로 되어 있음을 알려줌
[1"f" "m"

cs




2. 행렬

1) 행렬의 개념

행렬(matrix)은 데이터의 형태가 2차원으로 행(row)과 열(column)로 구성되어 있습니다. 행렬은 벡터의 확장 개념으로 벡터와 동일하게 하나의 데이터 유형만 가질 수 있으며, 수학이나 통계에서 주로 사용됩니다.


2) 행렬을 생성하는 방법

(1) rbind(벡터1, 벡터2, ...) : rbind 벡터1과 벡터2를 행으로 합쳐서 하나의 행렬을 만듬(벡터의 개수가 행, 벡터의 원소 개수가 열의 개수가 됨)

(2) cbind(벡터1, 벡터2, ...) : cbind 벡터1과 벡터2를 열로 합쳐서 하나의 행렬을 만듬(벡터의 개수가 열, 벡터의 원소 개수가 행의 개수가 됨)

> v1 = 1 : 3
> v2 = 4 : 6
> m1 = rbind(v1, v2)
> m1
   [,1] [,2] [,3]
v1    1    2    3
v2    4    5    6
> m2 = cbind(v1, v2)
> m2
     v1 v2
[1,]  1  4
[2,]  2  5
[3,]  3  6
cs


(3) matrix() 함수

argument

설명

x

벡터를 지정

nrow

행의 개수를 지정

ncol

열의 개수를 지정

byrow

행렬에 값이 입력될 때 기본적으로 방향으로 먼저 입력되며,
값이 입력되는 방향을 행 방향으로 수정하고 싶으면 TRUE를 지정


> m3 = matrix(1 : 4, nrow = 2, ncol = 2)    # 2행 2열인 행렬이며, 값이 열 방향 우선으로 입력됨
> m3
     [,1] [,2]
[1,]    1    3
[2,]    2    4
> m4 = matrix(1 : 4, nrow = 2, ncol = 2, byrow = TRUE)    # m3와 동일하게 2행 2열이지만 값이 행 방향 우선으로 입력됨
> m4
     [,1] [,2]
[1,]    1    2
[2,]    3    4
cs





'빅데이터 > R' 카테고리의 다른 글

R의 데이터 프레임  (0) 2018.12.10
R의 배열과 리스트  (0) 2018.12.10
R의 벡터 속성  (0) 2018.12.09
R에서 백터 생성 하기  (0) 2018.12.09
R의 데이터 유형의 우선순위와 강제변환  (0) 2018.12.09