R의 Data structure
데이터 구조 종류
Scalar : element가 1개인 vector이다.
# scalar 만들기 a <- 'a' alphabet <- 'abcdefg' num <- 1
Vector : 같은 종류의 element가 여러개 들어 있는 1차원 matrix이다.
# vector 만들기 table <- c('a', 'b') table <- c(1, 2, 3, 5) bool <- c(TRUE, FALSE)
Matrix : 2차원으로 된 배열. 일반적이 표 데이터를 생각하면 된다.
# matrix 만들기 # 2 by 3 행렬 생성 > mat <- matrix(c("a", "b", "c", "d", "e", "f"), nrow = 2, ncol = 3) > mat [,1] [,2] [,3] [1,] "a" "c" "e" [2,] "b" "d" "f"
Array : 차원이 matrix 보다 많다. Matrix는 2차원(행, 열)인데 비해 배열은 그 이상 차원이 형성될 수 있다.
# array 만들기 > animal <- c("dog", "cat", "rabbit") > feed <- c("meat", "fish", "carrot") > jump <- c("3", "2", "1") > arr <- array(data = c(animal, feed, jump), dim = c(1,3,3), dimnames = list('value', c(1, 2, 3), c('animal','feed','jump'))) # array(c(vector1, vector2, vector3), dim = c(1,3,3), dimnames = list(row.names, column.names, matrix.names)) > arr , , animal 1 2 3 value "dog" "cat" "rabbit" , , feed 1 2 3 value "meat" "fish" "carrot" , , jump 1 2 3 value "3" "2" "1"
Data Frame : matrix와 유사한데, 유형이 다른 데이터를 함께 넣을 수 있다.
> animal <- c("dog", "cat", "rabbit") > feed <- c("meat", "fish", "carrot") > jump <- c("3", "2", "1") > dat <- data.frame(animal, feed, jump) > dat animal feed jump 1 dog meat 3 2 cat fish 2 3 rabbit carrot 1
List :서열화된 성분들의 집합체이다. 예시를 보는 게 빠르다.
> title <- "Phone Book" > name <- c("Tom", "Jack", "Jean", "Mike") > phone <- c("010-1234-1234", "010-2345-5678", "010-9876-5673") > index <- c(1, 2, 3) > etc <- matrix(1:10, nrow=2) > mylist <-list(title = title, info = name, phone, index, etc) > mylist $title [1] "Phone Book" $info [1] "Tom" "Jack" "Jean" "Mike" [[3]] [1] "010-1234-1234" "010-2345-5678" "010-9876-5673" [[4]] [1] 1 2 3 [[5]] [,1] [,2] [,3] [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10 > mylist$title [1] "Phone Book" > mylist[[3]] [1] "010-1234-1234" "010-2345-5678" "010-9876-5673" > mylist$info[1] [1] "Tom"
'Statistics > R' 카테고리의 다른 글
[R] 결측값 데이터 다루기 (0) | 2018.04.25 |
---|---|
R을 이용한 Selenium 실행 (Windows 10 기준) (6) | 2017.09.07 |