본문 바로가기
R 주제/R 기초 및 통계 강의

[R 강의] 11. 리스트 (aka 사전)

by 만다린망고 2020. 3. 15.
반응형
도구 R로 푸는 통계

11. 리스트 (aka 사전)



리스트는 벡터처럼 데이터를 담는 그릇입니다. 벡터는 같은 종류의 데이터만 입력이 가능했는데요. 리스트는 여러 종류의 데이터를 입력할 수 있습니다. 공부해봅시다. 


1. 리스트 생성하기


리스트에 데이터를 입력해 봅시다. 숫자와 문자열이 함께 입력됩니다. 


> a=list("PAUL",35)

> a

[[1]]

[1] "PAUL"


[[2]]

[1] 35


일반적으로 '변수명' 과 '값'을 연결하여 저장합니다. 간단한 예를 들어봅시다. 


> a=list(name="PAUL", age=35)

> a

$`name`

[1] "PAUL"


$age

[1] 35


이름에는 변수명 설정 규칙이 적용됩니다(3강에서 설명). 값에는 숫자, 문자열, 진리값, NULL ,factor를 입력할 수 있습니다. 


> example1=list(ex1=123, ex2="hi", ex3=FALSE, ex4=NULL)

> example1

$`ex1`

[1] 123


$ex2

[1] "hi"


$ex3

[1] FALSE


$ex4

NULL


스칼라형 뿐만 아니라 벡터형도 입력할 수 있습니다. 


> example2=list(ex1=c(1,2,3), ex2=c("a","b","c"))

> example2

$`ex1`

[1] 1 2 3


$ex2

[1] "a" "b" "c"


리스트 안에 리스트를 넣을 수도 있습니다. 


> a=list(kim=100, park=80)

> b=list(lee=88, song=92)

exam_score=list(class1=a, class2=b)

exam_score

$`class1`

$`class1`$`kim`

[1] 100


$`class1`$park

[1] 80



$class2

$class2$`lee`

[1] 88


$class2$song

[1] 92



2. 리스트내 자료에 접근하기


위에서 작성한 exam_score 내에 있는 자료에 접근해 봅시다. class1에 접근하는 방법입니다. $기호를 이용하여 접근합니다.


> exam_score$class1

$`kim`

[1] 100


$park

[1] 80


class1 내의 kim에 접근하는 방법입니다.


> exam_score$class1$kim

[1] 100


아래와 같이 다른 방법으로도 접근할 수 있습니다. 


> exam_score[1]

$`class1`

$`class1`$`kim`

[1] 100


$`class1`$park

[1] 80


> exam_score["class1"]

$`class1`

$`class1`$`kim`

[1] 100


$`class1`$park

[1] 80




영상이 더 편하신 분


반응형

댓글