R

[R 프로그래밍] 리스트(List)

동호다찌 2022. 12. 21. 15:57
반응형

리스트(list)

리스트(list)는 서로 다른 R 오브젝트들을 원소(요소, component, element)로 구성되는 R 오브젝트입니다.

 

리스트의 원소

  • 상수/벡터
  • 행렬/데이터프레임
  • 함수  등 모든 R 오브젝트

 

리스트의 생성: list()함수 이용

# name_1 / name_m은 콤포넌트의 이름
# object_1 / object_m은 콤포넌트 값

> list(name_1=object_1, ..., name_m=object_m)


> Lst <- list(name="fred", wife="mary", child.ages=c(4,7,9));
> Lst
$name
[1] "fred"

$wife
[1] "mary"

$child.ages
[1] 4 7 9

 

리스트의 구성 요소(원소, element)를 접근하는 방법
> Lst <- list(name="fred", wife="mary", child.ages=c(4,7,9));

> Lst[[1]];
[1] "fred"

 

구성요소 이름이 있는 경우(named list)

> Lst <- list(name="fred", wife="mary", child.ages=c(4,7,9));

> Lst[["name"]];
[1] "fred"

> Lst[["wife"]];
[1] "mary"

> Lst[["child.ages"]];
[1] 4 7 9
 

서브리스트(sub-list)

> Lst <- list(name="fred", wife="mary", child.ages=c(4,7,9));

> Lst[2:3]
$wife
[1] "mary"

$child.ages
[1] 4 7 9

 

콤포넌트의 개수: length()

> Lst <- list(name="fred", wife="mary", child.ages=c(4,7,9));

> length(Lst)
[1] 3

 

리스트의 결합

  • 두 개 이상의 리스트를 하나의 리스트로 결합하는 방법
  • c() : 벡터 생성 또는 둘 이상의 벡터 결합과 동일
> list1 <- list(a1=1, b1=1:3);
> list2 <- list(a2=c("Kim", "Park"));
> c(list1, list2);
$a1
[1] 1

$b1
[1] 1 2 3

$a2
[1] "Kim"  "Park"
반응형

'R' 카테고리의 다른 글

[R 프로그래밍] If()  (0) 2022.12.21
[R 프로그래밍] 데이터프레임(data frame)  (0) 2022.12.21
[R 프로그래밍] matrix(행렬)  (0) 2022.12.21
[R 프로그래밍] 벡터 (vector)  (0) 2022.12.21
[R 프로그래밍] 상수(atomic)  (0) 2022.12.21