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로 묶여있다고 볼 수 있다.
'IT | Computer > R' 카테고리의 다른 글
R 언어 통계 프로그래밍: Reading/Writing Data (0) | 2015.12.30 |
---|---|
R 통계 프로그래밍: Data Type (Factors, NA, NaN, Data Frames, Names) (0) | 2015.12.15 |
R언어 통계 프로그래밍: R 콘솔 입출력 (0) | 2015.12.13 |
R의 개요 및 역사 (0) | 2015.12.10 |
윈도우즈(Windows)에서 R 설치하기 (0) | 2015.11.28 |