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 |
행렬에 값이 입력될 때 기본적으로 방향으로 먼저 입력되며, |
> 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 |