R 언어 입문: 인자 의 사용

7712 단어
R 언어 에 인자 라 는 특수 한 데이터 구조 가 있 는데 다른 프로 그래 밍 언어 와 달리 이 데이터 구조의 주요 목적 은 분류, 주파수 와 빈 도 를 계산 하 는 것 이다. 후기 에 R 언어 를 통계학 에 사용 하면 매우 유용 할 것 이다.또한 그림 을 그 릴 때 우 리 는 같은 데 이 터 를 사용 하여 인자 로 전환 한 후에 이 데 이 터 를 그림 을 그 리 는 함수 에 넣 으 면 그림 이 더욱 읽 을 수 있 습 니 다.우 리 는 인자 라 는 데이터 구 조 를 만 드 는 두 가지 방식 이 있 습 니 다. 첫 번 째 는 데이터 상자 에서 자동 으로 만 드 는 것 이 고 다른 방식 은 인 자 를 직접 만 드 는 것 입 니 다.
1. 데이터 상자 로 인자 만 들 기
첫 번 째 방법 은 간접 적 인 방식 으로 인자 데이터 세트 를 만 드 는 것 입 니 다. 데이터 상자 에 있 는 데이터 가 모두 문자열 이 라면 R 언어 는 자동 으로 이 열의 데 이 터 를 인자 로 기본 값 으로 합 니 다.데이터 상 자 를 만들어 보 겠 습 니 다:
> data"bob","mike","iris"),height=c(178,356,131),gender=c('f','m','f'))
> data
  name height gender
1  bob    178      f
2 mike    356      m
3 iris    131      f

분명히 우리 가 만 든 데이터 상 자 는 height 를 제외 하고 다른 두 열의 데 이 터 는 모두 문자열 입 니 다. 따라서 R 언어 는 gender 와 name 을 기본적으로 인자 로 합 니 다. 우 리 는 class 를 사용 하여 데이터 의 유형 을 판단 할 수 있 습 니 다.
> class(data$gender)
[1] "factor"
> class(data$name)
[1] "factor"
> class(data$height)
[1] "numeric"

hieght 를 인쇄 합 니 다.
> data$height
[1] 178 356 131

R 언어 는 분명히 우리 에 게 height 에 대응 하 는 데이터 의 값 을 출력 해 주 었 다. 그러면 인자 데이터 에 도 그렇지 않 을 까?gender 를 출력 하 는 값 이 어떤 지 봅 시다.
> data$gender
[1] f m f
Levels: f m

gender 를 인쇄 할 때 R 언어 는 level 을 보 여 줍 니 다. 이 는 이 인자 데이터 의 데이터 가 어떤 유형 이 있 는 지, 우 리 는 두 가지 성별 만 있 기 때문에 f 와 m 만 출력 합 니 다.
다음은 name 의 level 이 어떤 지 살 펴 보 겠 습 니 다.
> data$name
[1] bob  mike iris
Levels: bob iris mike

이 세 개의 이름 은 각각 다 르 기 때문에 세 개의 이름 level 을 출력 합 니 다.
물론 우 리 는 level 함 수 를 직접 사용 하여 인자 중의 level 을 볼 수 있 습 니 다. 인자 데이터 가 아니면 null 을 출력 합 니 다. 다음 과 같 습 니 다.
> levels(data$height)
NULL
> levels(data$gender)
[1] "f" "m"
> levels(data$name)
[1] "bob"  "iris" "mike"

nlevel 함 수 는 인자 데이터 level 의 길 이 를 보 는 데 사 용 됩 니 다:
> nlevels(data$name)
[1] 3

2. factor 함 수 를 이용 하여 인 자 를 직접 만 듭 니 다.
우 리 는 성별 에 관 한 인 자 를 만 듭 니 다.
> sex=factor(c('f','m','f','f','m'),levels=c('f','m'),labels=c('female','male'),ordered=TRUE)
> sex
[1] female male   female female male  
Levels: female < male

위의 코드 에서 벡터 c 는 인자 중의 데이터 세트 를 대표 합 니 다. levels 는 우리 가 인위적으로 설정 한 level 을 대표 합 니 다. 물론 이것 을 쓰 지 않 아 도 factor 함수 가 자동 으로 설정 해 줍 니 다. 그러나 여 기 는 뒤의 labels 와 대응 하기 위해 반드시 써 야 합 니 다.labels 는 인자 생 성 이 끝 난 후 각 인자 의 이름 을 바 꿉 니 다. 이전에 인 자 를 만 들 때 데이터 의 간편 성 을 위해 영어 단 어 를 다 쓰 지 않 았 기 때 문 입 니 다. ordered 는 인자 의 level 을 순서대로 배열 합 니 다. 보통 R 언어 에서 먼저 level 에 나타 난 인자 벡터 입 니 다. 여 기 는 'f' 이 고 그 순 서 는 'm' 보다 우선 합 니 다.다음은 순서 인 자 를 설정 하지 않 은 경우 입 니 다.
> sex'f','f','m','m'),labels=c("female","male"))
> sex
[1] female female male   male  
Levels: female male

우 리 는 is. ordered 함 수 를 이용 하여 인자 가 순서 가 있 는 지 확인 합 니 다.
> is.ordered(sex)
[1] FALSE

이것 은 순서 가 없 는 것 이 분명 합 니 다. 따라서 우 리 는 ordered 함수 로 그 에 게 순 서 를 가 질 수 있 습 니 다. 만약 에 이 함 수 를 사용 하면 인자 중에서 먼저 나타 나 는 level 은 나중에 나타 나 는 level 보다 작 습 니 다.
> ordered(sex)
[1] female female male   male  
Levels: female < male

이것 이 바로 오늘 소개 한 인자 에 관 한 모든 지식 입 니 다!당신 이 모두 파악 하고 천천히 숙련 되 기 를 바 랍 니 다!

좋은 웹페이지 즐겨찾기