IT | Computer/R

R 통계 프로그래밍: Data Type (Factors, NA, NaN, Data Frames, Names)

바람난후제 2015. 12. 15. 01:52
반응형

1. Factors

1) 범주형 데이터(categorical data) 표현에 사용

- Unorderd/Ordered 가능 (순차/비순차)

- label: 좀 더 self-describing (데이터의 설명이 추가)되게 표현된다. 예) 1/2가 아닌 남/여로 표현

2) factor(): Levels가 기존의 변수 중에 중복을 피하면서 Attribute 중 하나로 설정하여 vector를 생성

- table(): Level에 따라 몇 개의 값이 있는지 Level에 따른 count 값을 출력

- unclass(): Level 표현 없이 class 특징을 없애고 단순한 상수만 출력하고 attribute에 따라 상수에 매칭되는 데이터 값을 같이 출력

3) factor( , levels=() ): 데이터가 표현되는 level를 속성으로 정의하여 vector로 생성할 수 있다.

- 사용자가 임의로 Levels를 정의하여도 동일한 효과를 나타낸다. 자동적으로는 알파벳 순서로 Levels의 값이 정해지는 데 임의로 순서를 정할 수 있다. 위와는 다르게 table에서 "Male"이 먼저 표시되고 1로 설정된 것을 확인할 수 있다.

 

2. NA(Not Available)와 NaN(Not a Number)

1) 정의되지 않은 상태인 경우에 NA/NaN 표시

- is.na(): NA 인지 확인

- is.nan(): NaN인지 확인

- NA는 클래스로 분류되며 integer NA, character NA, NaN 등이 포함된다. NA가 좀 더 큰 의미로 볼 수 있다.

- NaN의 경우 is.na(), is.nan()에서 모두 TRUE를 반환한다.

 

3. Data Frames

1) Tabular data(표 형태의 데이터)를 저장하기 위하여 사용한다.

- 특별한 형태의 list로 각각의 length가 동일한 list를 가진다.

- 행의 수는 각 리스트의 크기가 될 수 있고, 각각의 요소는 열로 구분될 수 있다.

- 서로 다른 타입의 클래스를 각각의 column에 저장할 수 있다. Matrix는 모두 동일한 class이어야 한다.

2) 관련 Attributes 및 함수

- row.names: 각 row의 이름을 저장하고 있다.

- read.table()/read.csv(): 다른 데이터를 읽어 오면서 data frames가 주로 생성된다.

- data.matrix(): data frame인 data를 matrix 형태로 변환할 때 사용한다.

- 동일한 길이의 두 vector가 합쳐져서 하나의 data frame을 구성한다.

- 각 row와 column의 이름을 확인 할 수 있다.

 

4. Names

1) Vector에서 이름 부여

- names(): R에서는 각 Object에 이름을 부여할 수 있다. 보다 데이터를 readable하고 self-describing 하게 해준다.

2) List에서 이름 부여

- list 생성시 이름을 부여할 수 있다.

3) Matrix에서 이름 부여

- 각각의 row, column에 이름을 부여하여 데이터를 표현할 수 있다.

반응형