리스트(List)
리스트는 서로 다른 형태(mode)의 자료를 포함하는 하나의 객체이다.
list( )
> li <- list("top", c(2, 4, 6), c(T, F, T)) # list(문자, 숫자, 논리형 객체)
> li[[1]] # [[1]] : 첫 번째 성분
> mat1 <- matrix(1:4, nrow=2)
> list1 <- list("A", 1:8, mat1) # list(문자, 숫자, 행렬)
> son <- list(son.name = c("Minsu", "Minchul"), son.cnt = 2, son.age = c(2, 6))
# 리스트 속성 : 벡터의 속성과 같이 자료의 개수, 형태, 구성요소의 이름 등으로 구성
> length(son) # 리스트 자료의 개수
> mode(son) # 리스트 자료의 형태
> names(son) # 리스트 각 구성요소의 이름
리스트의 성분 추출
기본적인 성분 추출 방법은 [[ ]]를 사용하여 성분의 index를 이용하는 방법이다. 만약 성분의 이름을 지정하였다면 $ 연산자를 이용하여 특정 성분을 추출할 수 있다. 단 성분의 원소를 추출하는 경우에는 [ ]를 사용한다.
> exm <- list(c("Abe", "Bob", "Carol", "Deb"), c("Weight", "Waist")) # exm 리스트 생성
> exm[[2]] # 리스트의 2번째 성분
> exm[[2]][2] # 2번째 성분 중 2번째 원소
> names(exm) <- c("Rows", "Columns") # 리스트에 성분 이름 부여
> exm$Rows # 리스트의 Rows 성분만 추출
> exm$Rows[2] # 리스트의 Rows 성분 중 2번째 원소
> exm$Columns # 리스트의 Columns 성분만 추출
> list1 <- list("A", 1:8) # 2개의 성분을 갖는 리스트 생성
> list1[[3]] <- list(c(T, F)) # 3번째 성분 추가
> list1[[2]][9] <- 9 # 2번째 성분에 9번째 원소 추가
> list1[3] <- NULL # 3번째 성분 삭제
> list1[[2]] <- list1[[2]][-9] # 2번째 성분의 9번째 원소 삭제
# 리스트는 성분에 리스트와 벡터 등을 사용할 수 있다.
> a <- 1:10
> b <- 11:15
> klist <- list(vec1 = a, vec2 = b, description = "example")
> klist[[2]][5] # 두 번째 성분 vec2의 5번째 원소
> klist$vec2[c(2, 3)] # vec2 의 2, 3번째 원소
'해보記 > R' 카테고리의 다른 글
<記> R 데이터 핸들링 (1) (0) | 2019.12.10 |
---|---|
<記> R 연산자 (0) | 2019.12.06 |
<記> R data.frame (0) | 2019.12.04 |
<記> R Array (0) | 2019.12.03 |
<記> R Matrix (0) | 2019.12.03 |