Chapter 5 Data Structure Basics

R의 데이터구조는 크게 벡터, 리스트, 매트릭스, 데이터프레임으로 나누어집니다. (array는 잘 사용되지 않습니다)

Dimension Homogeneous Heterogeneous
1D Atomic Vector List
2D Matrix Data frame
nD Array

Homogenous는 컬럼간 데이터 구조가 같은 경우, Heterogeneous는 다른 경우입니다.

5.1 구조 파악하기

str() 함수를 이용해 각 데이터의 구조(structure)를 파악할 수 있습니다.

vector = 1:10
list = list(item1 = 1:10, item2 = LETTERS[1:18])
matrix = matrix(1:12, nrow = 4)
df = data.frame(item1 = 1:18, item2 = LETTERS[1:18])
vector
##  [1]  1  2  3  4  5  6  7  8  9 10
str(vector)
##  int [1:10] 1 2 3 4 5 6 7 8 9 10
list
## $item1
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $item2
##  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R"
str(list)
## List of 2
##  $ item1: int [1:10] 1 2 3 4 5 6 7 8 9 10
##  $ item2: chr [1:18] "A" "B" "C" "D" ...
matrix
##      [,1] [,2] [,3]
## [1,]    1    5    9
## [2,]    2    6   10
## [3,]    3    7   11
## [4,]    4    8   12
str(matrix)
##  int [1:4, 1:3] 1 2 3 4 5 6 7 8 9 10 ...
df
##    item1 item2
## 1      1     A
## 2      2     B
## 3      3     C
## 4      4     D
## 5      5     E
## 6      6     F
## 7      7     G
## 8      8     H
## 9      9     I
## 10    10     J
## 11    11     K
## 12    12     L
## 13    13     M
## 14    14     N
## 15    15     O
## 16    16     P
## 17    17     Q
## 18    18     R
str(df)
## 'data.frame':    18 obs. of  2 variables:
##  $ item1: int  1 2 3 4 5 6 7 8 9 10 ...
##  $ item2: chr  "A" "B" "C" "D" ...