[R 기초] 리스트 인덱싱 하는 방법
먼저 리스트를 하나 정의하겠습니다. 벡터 두개와 데이터프레임하나를 넣었습니다.
v1=c(1,2,3)
v2=c("a","b","c")
d1=data.frame(v1,v2)
mylist=list(v1,v2,d1)
아래와 같이 생성되었습니다.
> mylist
[[1]]
[1] 1 2 3
[[2]]
[1] "a" "b" "c"
[[3]]
v1 v2
1 1 a
2 2 b
3 3 c
리스트 인덱싱은 크게 세가지가 있는데요. 리스트 자체를 인덱싱하는 방법과, 구성요소에 접근하는 방법과, 구성요소의 원소에 접근하는 방법입니다.
1) 리스트 인덱싱
첫번째 리스트에 접근해보겠습니다.
> mylist[1]
[[1]]
[1] 1 2 3
이렇게 접근할 경우 자료형은 list가 됩니다.
첫번째 리스트와 두번째 리스트에 연달아 접근해봅시다.
> mylist[1:2]
[[1]]
[1] 1 2 3
[[2]]
[1] "a" "b" "c"
첫번째 리스트와 세번째 리스트에 접근해봅시다.
> mylist[c(1,3)]
[[1]]
[1] 1 2 3
[[2]]
v1 v2
1 1 a
2 2 b
3 3 c
2) 구성요소에 접근
리스트 구성요소에 접근하면 자료형이 해당 구성요소의 자료형이 됩니다. 첫번째 구성요소에 접근해봅시다. 자료형이 벡터입니다.
> mylist[[1]]
[1] 1 2 3
세번째 구성요소에 접근해봅시다. 자료형이 데이터프레임입니다.
> mylist[[3]]
v1 v2
1 1 a
2 2 b
3 3 c
3) 구성요소의 원소에 접근
리스트 구성요소에 접근하면 자료형이 해당 구성요소의 자료형이 됩니다. 첫번째 구성요소에 접근해봅시다. 자료형이 벡터입니다.
이때는 각 구성요소에 먼저 접근한 뒤, 해당 구성요소 자료형에 맞는 인덱싱을 사용해주시면 됩니다.
첫번째 구성요소의 두번째 원소에 접근해봅시다. 벡터 인덱싱입니다.
> mylist[[1]][2]
[1] 2
세번째 구성요소의 2행에 접근해봅시다. 데이터프레임 인덱싱입니다.
> mylist[[3]][2,]
v1 v2
2 2 b
'5. 자료구조 > 4) 리스트 | list()' 카테고리의 다른 글
[R코딩] 리스트 인덱싱 할때, 요소 자체의 자료형으로 출력 (0) | 2020.12.16 |
---|---|
[R 코딩] 리스트를 데이터프레임으로 만드는 stack 함수 (0) | 2020.12.16 |
[R 코딩] list 를 벡터로 만들기 (unlist 함수) (0) | 2020.12.15 |
[R기초] 리스트는 언제 사용할까? (0) | 2020.09.16 |
[R기초] 리스트 정의하는 방법 + 자료구조 확인 (0) | 2019.11.30 |
댓글