English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
요인은 다른 데이터 유형의 카테고리를 저장하는 데 사용됩니다. 예를 들어, 성별은 남자와 여자 두 가지 카테고리를 가지고 있으며, 연령은 미성년자와 성인으로 나눌 수 있습니다.
R 언어는 factor() 함수를 사용하여 요인을 생성합니다. 벡터를 입력 매개변수로 사용합니다.
factor() 함수 문법 형식:
factor(x = character(), levels, labels = levels, exclude = NA, ordered = is.ordered(x), nmax = NA)
파라미터 설명:
x: 벡터。
levels: 각 수준 값을 지정, 지정하지 않으면 x의 다른 값으로求得됩니다。
labels: 수준의 레이블, 지정하지 않으면 각 수준 값에 대한 문자열을 사용합니다。
exclude: 제외할 문자。
ordered: 수준이 순서가 있는지 지정하는 논리 값。
nmax: 수준의 상한 수량。
다음 예제에서 문자형 벡터를 요인으로 변환합니다:
x <- c("남자", "여자", "남자", "남자", "여자") sex <- factor(x) print(sex) print(is.factor(sex))
위의 코드를 실행한 결과는 다음과 같습니다:
[1] 남자 여자 남자 남자 여자 Levels: 남 여 [1] TRUE
다음 예제에서는 요인 수준을 c('남자','여자')로 설정합니다:
x <- c("남자", "여자", "남자", "남자", "여자", levels=c('남자','여자')) sex <- factor(x) print(sex) print(is.factor(sex))
위의 코드를 실행한 결과는 다음과 같습니다:
levels1 levels2 남자 여자 남자 남자 여자 남자 여자 Levels: 남 여 [1] TRUE
이제 labels 매개변수를 사용하여 각 인자 수준에 레이블을 추가합니다. labels 매개변수의 문자 순서는 levels 매개변수의 문자 순서와 일치해야 합니다. 예를 들어:
sex=factor(c('f','m','f','f','m'),levels=c('f','m'),labels=c('female','male'),ordered=TRUE) print(sex)
위의 코드를 실행한 결과는 다음과 같습니다:
[1] female male female female male Levels: female < male
우리는 gl() 함수를 사용하여 인자 수준을 생성할 수 있습니다. 문법 형식은 다음과 같습니다:
gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)
파라미터 설명:
n: level의 개수 설정
k: 각 level이 반복되는 횟수 설정
length: 길이 설정
labels: level의 값을 설정
ordered: level이 순서대로 정렬되어 있는지 여부를 설정하는 부울 값.
v <- gl(3, 4, labels = c("Google", "w3codebox","Taobao")) print(v)
위의 코드를 실행한 결과는 다음과 같습니다:
[1] Google Google Google Google w3codebox w3codebox w3codebox w3codebox Taobao Taobao [11] Taobao Taobao 레벨: Google w3codebox Taobao