3. 고급 자료구조
벡터는 1차원 자료 구조로서 많은 데이터를 담지 못한다. 이에 R은 보다 다양한 데이터를 담을 수 있는 자료구조를 제공한다.
3.1. 데이터 프레임 - data.frame()
: 외형적으로 엑셀 스프레드시트 처럼 생김. 데이터를 읽어들여올 경우 대부분 df라고 보면 됨. 2차원의 자료 구조. 통계적 관점에서 봤을 때 각 열은 하나의 변수이고 각 행은 하나의 관측값이 된다.
data.frame을 어떻게 구성하는지 살펴보면, 각 열은 실제 vector이며 각 vector의 길이는 같다. 각 열이 서로 다른 타입의 데이터를 가질 수 있게한다는 점에서 매우 중요한 의미를 가진다. 즉, 이것은 하나의 열 내에서 각 원소가 반드시 같은 타입이어야 함을 의미한다.
데이터 프레임은 data.frame(v1, v2, v3, ...) 커맨드로서 생성 가능하다.
3.2. 리스트 - list()
: 다차원 자료 구조. 하나의 타입만이 아닌 여러 타입을 원소로 가질 수 있다(모든 유형의 객체 집합). 즉, list는 타입과 객체의 수에 관계없이 객체를 저장할 수 있다. -> 하나의 저장소가 동일 타입 또는 다른 타입의 임의의 객체들을 가지게 되는 경우에 이용.
list는 list(arg1, arg2, ...) 커맨드로서 생성 가능하다.
3.3. 행렬 - matrix()
: 2차원 자료 구조. 같은 타입의 원소만을 가질 수 있다. 고유값, 역행렬 계산 등 행렬 연산을 사용하고자 matrix로 변환.
행렬은 matrix(element, nrow = k) 커맨드로서 생성 가능하다.
3.4. 배열 - array()
: 다차원 자료 구조. 같은 타입의 원소만을 가질 수 있다는 점에서 리스트와 구분된다. 행렬의 다층구조로 이해하면 쉽다.
배열은 array(element, dim = (p, q, r)로서 생성된다. 이때 p는 행의 개수, q는 열의 개수, r은 이후 차원의 개수(원소가 되는 행렬의 개수라고 생각하면 쉽다)이다.
'프로그래밍 > R ' 카테고리의 다른 글
R로 데이터 가져오기(2) (0) | 2019.06.12 |
---|---|
R로 데이터 가져오기 (1) (0) | 2019.06.12 |
[R 자료구조] 2. 벡터 타입 데이터 & 특수 데이터 유형 (0) | 2019.06.11 |
[R 자료구조] 1. 기본 데이터 타입(numeric, character 등) (0) | 2019.06.11 |
R에서 변수에 값 할당(assign)하기 & 변수 삭제하기 (0) | 2019.06.08 |