리스트 만들기
r
list_data <- list("Red", "Green", c(21,32,11), TRUE, 51.23, 119.1)
print(list_data)
r
> list_data <- list("Red", "Green", c(21,32,11), TRUE, 51.23, 119.1)
> print(list_data)
[[1]]
[1] "Red"
[[2]]
[1] "Green"
[[3]]
[1] 21 32 11
[[4]]
[1] TRUE
[[5]]
[1] 51.23
[[6]]
[1] 119.1
원소 편집하기
r
# 데이터 지워버리기
list_data[[1]] = NULL
# 값 바꾸기
list_[[2]] = "love"
리스트끼리 합치기
r
merged_list = c(list1, list2)
merged_lsit
리스트 활용
이름 붙이기
r
# Create a list containing a vector, a matrix and a list.
list_data <- list(c("Jan","Feb","Mar"),
matrix(c(3,9,5,1,-2,8), nrow = 2),
list("green",12.3))
# Give names to the elements in the list.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")
# Show the list.
print(list_data)
r
> print(list_data)
$`1st Quarter`
[1] "Jan" "Feb" "Mar"
$A_Matrix
[,1] [,2] [,3]
[1,] 3 5 -2
[2,] 9 1 8
$`A Inner list`
$`A Inner list`[[1]]
[1] "green"
$`A Inner list`[[2]]
[1] 12.3
인덱싱
- 대괄호를 하나만 사용하면 해당 원소를 항상 리스트로 출력
- 대괄호를 겹쳐서 사용하면 해당 원소를 본래 자료구조로 출력
- '겹대괄호' 안에는 인덱스를 단 하나만 지정
- 리스트에 원소명이 있으면 달러 기호를 사용할 수 있다.
r
lst1[1]
lst1[c(1,3)]
lst1[[1]]
lst1$a
리스트 분해
- 리스트의 경우 다양한 타입이 섞여있음을 가정하기에, 산술 연산이 안 된다.
- 이럴때
unlist()함수를 사용해 벡터로 되돌릴 수 있다.
r
list1 = list(1:5)
list2 = list(10:14)
v1 = unlist(list1); v2 = unlist(list2)
print(v1 + v2)