본문 바로가기
R프로그래밍

R프로그래밍 - list함수 알아보기

by 미스터탁 2020. 6. 25.

이번 포스팅에서는 list라는 객체에 대해서 알아 보겠습니다.

 

R에서 가장 많이 쓰이는 객체는 총 세가지입니다.

 

vector, matrix ( dataframe), 그리고 마지막으로 list입니다.

 

vector는 1차원 형태이고 matrix는 행과 열로 이루어진 2차원 형태의 데이터입니다.

 

list는 차원의 제한이 없습니다.

 

우리는 앞서 벡터와 matrix의 요소에 접근할때 '방'이라는 표현을 썼습니다.

 

list에서는 큰방과 작은 방이 존재합니다.

 

큰방은 대괄호 두개 [[ ]]  로 접근을 하고, 작은 방은 벡터와 마찬가지로  대괄호 하나로 [ ] 접근합니다. 

 

아래코드처럼

list() 함수로 선언 할수 있고

 

보시는 것처럼 각각의 큰방에 대해서 어떠한 객체가 들어가든 상관없습니다.

 

아래 예제에서는 list의 첫번째 큰방에 숫자벡터, 두번째 큰방에는 문자 벡터, 세번째 큰방에는 데이터프레임이 들어간 것을 보실 수 있습니다.

 

list1<-list()
list1[[1]]<-c(1,2,3)
list1
list1[[2]]<-c("a","b","c","d")
list1

list1[[3]]<-data.frame(matrix(1:12,ncol=3))
list1

 

 

 

list안의 방에 접근할때에는 큰방과 작은방의 개념을 넣어서 접근할 수 있습니다.

 

list1[[1]] ##첫번째 방 출력
list1[[1]][1] ## 첫번째 방의 작은방
a1<-list1[[1]]
a1[1]

 

 

세번째 큰 방을 출력하니 아리 화면처럼 데이터 프레임이 출력되는 것을 알 수 있습니다.

더불어, 세번째 큰방에 첫번째 행을 가져오면, 이전에 우리가 행렬구조 접근하는 것과 같이 출력되는 것을 알 수 있습니다. 

list1[[3]] ## 세번째 방 출력
list1[[3]][1,]

 

list는 이와 같이 차원의 형태에 얽메이지 않기 때문에, 데이터의 표현이 매우 자유롭습니다. 그래서 여러모로 굉장히 많이 사용이 되고 있습니다. 다음 포스팅도 list에 관련된 내용이니 꼭 이해하고 넘어가시는게 좋습니다.

반응형

댓글