본문 바로가기
5. 자료구조/4) 리스트 | list()

[R코딩] 리스트 인덱싱 할때, 요소 자체의 자료형으로 출력

by makhimh 2020. 12. 16.
반응형

리스트를 인덱싱할 때, 요소를 리스트 형태로 출력할 수도 있고 요소 자체의 자료형으로 출력할 수도 있습니다. 

먼저 리스트를 하나 정의합시다. 

 

> li=list(v=c(1,2,3),m=matrix(1:4,2),df=data.frame(a=c(1,2,3),b=c(4,5,6)))
> li
$v
[1] 1 2 3

$m
     [,1] [,2]
[1,]    1    3
[2,]    2    4

$df
  a b
1 1 4
2 2 5
3 3 6

 

 

리스트 형태로 인덱싱

 

대괄호를 한겹만 사용합니다. 

 

> li[1]
$v
[1] 1 2 3

> li[2]
$m
     [,1] [,2]
[1,]    1    3
[2,]    2    4

> li[3]
$df
  a b
1 1 4
2 2 5
3 3 6

 

자료형을 확인해봅시다.

 

> class(li[1])
[1] "list"
> class(li[3])
[1] "list"
> class(li[3])
[1] "list"

 

요소의 이름을 이용할 때도 대괄호를 한겹 사용하면 리스트형태로 인덱싱됩니다. 

 

> li["v"]
$v
[1] 1 2 3
> li["m"]
$m
     [,1] [,2]
[1,]    1    3
[2,]    2    4

> li["df"]
$df
  a b
1 1 4
2 2 5
3 3 6

 

요소 자체의 자료형으로 인덱싱

 

대괄호를 두겹 사용합니다. 

 

> li[[1]]
[1] 1 2 3

> li[[2]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4

> li[[3]]
  a b
1 1 4
2 2 5
3 3 6

 

요소의 이름을 이용할 때도 대괄호를 두겹 사용하면 요소 자체의 자료형으로 인덱싱됩니다. 

 

> li[["v"]]
[1] 1 2 3
> li[["m"]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4
> li[["df"]]
  a b
1 1 4
2 2 5
3 3 6
반응형

댓글