young
is this it
young
전체 방문자
오늘
어제
  • 분류 전체보기 (143)
    • 웹_프론트엔드 (1)
      • 로드맵 챌린지 (73)
      • Svelte (2)
      • React (6)
      • JavaScript (8)
      • TypeScript (2)
      • HTML+CSS (5)
    • 웹_백엔드 (0)
      • Django (0)
    • 빅데이터 (33)
      • R (30)
      • Python (2)
    • 기타 (11)
      • git (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • rstudio지도정보
  • bem
  • form
  • 웹보안
  • vcs
  • Regex
  • 태스크러너
  • 버전관리
  • css네이밍
  • 암호화
  • css후처리기
  • ssl
  • 공개키
  • 구글맵api
  • 대칭키
  • ggplot
  • 보안취약점
  • 인증
  • owasp
  • ggmap()

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
young

is this it

[R] List 리스트형 자료구조
빅데이터/R

[R] List 리스트형 자료구조

2019. 11. 28. 21:02
반응형

리스트는 성격이 다른 자료구조(벡터, 행렬, 리스트, 데이터프레임 등)를 객체로 생성할 수 있다.

특징:

  • 하나의 메모리 영역에는 키(key)와 값(value)이 한 쌍으로 저장된다.
  • C 언어의 구조체, Python의 dict(딕셔너리) 자료구조와 유사하다.
  • key를 통해서 value를 불러올 수 있는데, value에 해당하는 자료는 Vector, Matrix, Array, List, DataFrame 등 대부분의 R 자료구조의 객체가 저장될 수 있다.
  • 함수 내에서 여러 값을 하나의 키로 묶어서 반환하는 경우 유용하다.
  • 리스트 생성 함수: list()
  • 리스트 자료 처리 함수: unlist(), lapply(), sapply()

 

1차원 리스트 객체 생성하기

리스트에 저장된 데이터를 출력하면 [[n]]과 [n] 형식으로 출력되는데, 여기서 [[n]]은 리스트를 구성하는 하나의 원소에서 key에 해당하고, [n]은 value에 해당한다. 또한 [[n]]에서 n은 리스트 자료구조에 저장된 자료의 위치를 의미한다.

 

함수 예시

출력 결과

list_one #리스트 출력시

설명 비고
list_one <- list("Pengsoo", "age", 10)

[[1]]
[1] "Pengsoo"

[[2]]
[1] "age"

[[3]]
[1] 10

1개의 값을 갖는 리스트 객체 생성 key를 별도로 지정하지 않고, 3개의 value만 나열하여 객체 생성
list_one <- unlist(list_one) [1] "Pengsoo" "age"     "10"      벡터 구조로 변경 벡터 자료구조의 특징 때문에 10은 문자열로 처리됨
list_one <- list(c(1:5), c(8:10))  [[1]]
[1] 1 2 3 4 5

[[2]]
[1]  8  9 10
1개 이상의 값을 갖는 리스트 객체 생성 value에 저장될 자료는 c() 함수를 이용
list_one <- list(name = c("펭수", "김명중"), age = c(10,63), gender = c("Unknown", "Male")) $name
[1] "펭수"   "김명중"

$age
[1] 10 63

$gender
[1] "Unknown" "Male"   

key와 value 형식으로 리스트 생성.

리스트 객체에서 key는 '$' 기호가 붙어 표시됨. 이 key를 이용해 value에 접근 가능.
> list_one$name
> length(list_one)

[1] "펭수"   "김명중" 

[1] 3

key를 이용하여 value에 접근하기 '변수명$키' 형식으로 원소를 호출

 

List 객체 자료 처리 함수

함수 예시 설명
lapply(c(a, b), max)

리스트 객체에 함수 적용

리스트 형태로 결과 반환

sapply(c(a, b), max)

리스트 객체에 함수 적용

벡터 형식으로 결과 반환

 

다차원 List 객체 생성

리스트 자료구조에 또 다른 리스트가 중첩된 자료 구조를 다차원(중첩) 리스트라고 한다. 즉 1차원 리스트를 구성하는 각 원소의 value가 리스트로 구성된 경우이다. 이러한 다차원 리스트는 구조적인 특징을 고려하여 다차원 리스트의 자료를 처리하는 별도의 함수도 제공한다.

ex)

multi_list <- list(c1 = list(1, 2, 3), 
                   c2 = list(10, 20, 30), 
                   c3 = list(100, 200, 300))

반응형

'빅데이터 > R' 카테고리의 다른 글

[R] 기술 통계량 처리 관련 내장함수  (0) 2019.11.28
[R] 연산자(Operator)  (0) 2019.11.28
[R] Vector 벡터형 자료구조  (0) 2019.11.28
[R] 데이터 유형과 구조 5가지  (0) 2019.11.28
[R] 함수와 패키지  (0) 2019.11.28
    '빅데이터/R' 카테고리의 다른 글
    • [R] 기술 통계량 처리 관련 내장함수
    • [R] 연산자(Operator)
    • [R] Vector 벡터형 자료구조
    • [R] 데이터 유형과 구조 5가지
    young
    young

    티스토리툴바