IT | Computer/R

R 통계 프로그래밍: Data Type (R Objects, Attributes, Vectors, Lists)

바람난후제 2015. 12. 13. 02:36
반응형

1. R Objects와 Attributes

1) 5가지 기본 클래스: character, numeric (실수), integer, complex, logical (True/False)

2) 기본 Object: vector

- 5가지 클래스를 담고 있는 기본 Object

- 한가지 형태의 클래스만 1개 이상 포함: Multiple copies of a single type of object

- 예외: list는 다른 클래스끼리 포함할 수 있다.

- vector 생성 입력: vector() (2가지 arguments: vector type, vector length)

3) Numbers (numeric objects)

- integer 정수 입력을 원하는 경우: L을 추가 (1L로 입력하면 1이 integer로 입력된다.)

- Special number: Inf(Infinity, 무한대수 표시) 예) 1/0 = Inf, 1/Inf = 0

- Special value: NaN(Not a number, 정의되지 않은 값) 예) 0으로 나누는 경우, 0/0은 NaN으로 표현된다.

4) Attributes

- names, dimnames, dimensions(배열), class, length, other user-defined attributes/metadata (기타 사용자가 지정한 속성 및 메타데이터)

- Object의 attributes 접근 명령: attributes()

 

2. Vector와 List

1) Vector 생성 명령

c(): concatenate에서 유래

- character, numeric, integer 등을 vector로 생성할 수 있다.

- logical의 경우, T, F, TRUE, FALSE가 사용된다.

- complex의 경우, 정수로 5를 입력한 경우에도 5+0i의 형태로 저장된다.

vector(type, length)

- 각각의 기본값을 가진 vector가 생성된다.

- logical의 empty type은 FALSE

2) Coercion (강제) 관련

- 다른 type들로 vector를 생성하려는 경우에는 coercion되어 같은 class로 생성된다.

- 기본적으로 least common denominator vector(최소공통분모)를 형성한다.

- as.* : Object를 다른 class로 표현할 수 있다. 하지만 원래 attributes는 바뀌지 않는다.

- NAs : 불가능한 강제의 경우 오류메시지와 함께 표현된다.

3) Matrix

- Dimension attribute를 가진 vector

- Length 2를 가진 vector를 형성: 행, 렬

- 명령: matrix(nrow = x, ncol = y)

- 2행, 3열의 matrix를 생성, Dimension을 파악하여 row=2, col=3 확인, matrix의 attributes 확인한다.

- colum-wise의 특성을 가진다: 값이 저장될 때 순서는 열을 기준으로 왼쪽 위부터 저장된다.

- dim(x): 기존의 vector로 dimension을 추가하여 matrix 형태로 생성이 가능하다. 역시 열 우선으로 저장이 된다.

- cbind-ing, rbind-ing: 각각의 vector를 binding하여 matrix형태로 만들 수 있다. cbind-ing은 column순으로, rbind-ing은 row순으로 바인딩된다.

4) List

- 다른 타입 class의 요소를 포함할 수 있는 특별한 형태의 vector

- 이중 대괄호로 표시된 것으로 각각의 하나의 vector를 의미하며, 5개의 vector가 list로 묶여있다고 볼 수 있다.

반응형