R

[R] 자료형 - 3.List

ㄷㅐ장님 2022. 1. 8. 04:47

3. list

: 서로 다른 데이터 타입을 갖는 벡터를 저장하거나 다른 리스트를 저장할 수 있는 구조

list(key=value,key=value)

 

리스트에 특정한 키의 타입을 확인

   typeof(x$name)

 

인덱싱

   x[1] : key,value

   x[[1]] : value만

   x[-1] : 1번 인덱스의 키,값은 제외

슬라이싱 : x[1:2]

 

list 키,값을 추가

   x$sal <- 1000

list 키,값 삭제

   x$sal <- NULL

 

list는 중첩을 사용할 수 있다

   y <- list(a=list(d=c(1,2,3)), b=list(d=c(1,2,3,4)))

 

list 키 이름을 확인

   names(y) names(y)[1]

키 이름 수정

   names(y)[1] <- 'A' names(y)[2] <- 'B'

 

형변환

list -> vector(문자형)으로 자료형을 변환하는 함수 :

as.character(lst)

 

list -> vector(수치형)으로 자료형을 변환하는 함수 :

  as.numeric(lst)

  as.integer(lst)

☞숫자는 바꿀 수 있지만 문자는 NA로 변환된다. 

 

list -> vector형으로 변환하는 함수 :

   lst_new <- unlist(lst) 

☞키는 컬럼으로 변환된다

 

vector -> list 변환하는 함수 :

  lst_new2 <- as.list(lst_new)

 

charactor -> numeric형으로 변환 함수 :

   lst_new2$height <- as.numeric(lst_new2$height)

 

charactor -> integer형으로 변환 함수 :

   lst_new2$weight <- as.integer(lst_new2$weight)


[문제11] lst 변수에 name = 'king' , height = 180, weight = 70 값을 입력해 주세요.

더보기
lst <- list(name = 'king' , height = 180, weight = 70)

[문제12] lst 변수에 blood = 'A' 추가하세요.

더보기
lst$blood <- 'A'

[문제13] lst 변수에 name의 값을 'scott'로 수정하세요.

더보기
lst$name <- 'scott'

[문제14] lst변수에 2번인덱스 값만 출력해주세요.

더보기
names(lst)[2]

[문제15] lst변수에 blood 이름을 blood type 이름으로 수정하세요.

더보기
names(lst)[which %in% blood) <- 'blood type'