[R] 리스트 (List)

2025. 4. 18. 18:39·직장인 대학원/R
목차
  1. 🧱 리스트란?
  2. ✨ 리스트에 이름 붙이기 + 중첩 리스트
  3. 🔍 리스트 구조 보기
  4. 🎯 리스트 성분 인덱싱
  5. 🔁 리스트 반복 처리 (lapply())
  6. 🎯 사분위수도 적용 가능!
728x90
반응형

오늘 수업에서는 드디어 R에서 정말 유용한 리스트라는 걸 배웠다.
벡터나 행렬은 한 가지 타입만 저장할 수 있었지만,
리스트는 숫자, 문자열, 논리값, 심지어 또 다른 리스트까지 다 담을 수 있다! 

 

🧱 리스트란?

  • 다양한 자료형을 함께 담을 수 있는 특수한 형태의 벡터
  • 각각의 원소에 이름을 붙일 수도 있음
  • 리스트는 list() 함수로 생성한다
x <- list(1, "a", TRUE, 1 + 4i)
[[1]]  1
[[2]]  "a"
[[3]]  TRUE
[[4]]  1+4i

 

 

✨ 리스트에 이름 붙이기 + 중첩 리스트

Hong <- list(
  kor.name = "홍길동",
  eng.name = "Gil-dong",
  age = 43,
  married = TRUE,
  no.child = 2,
  child.ages = c(13, 10)
)

 

Hong이라는 리스트에 이름이 붙은 정보들이 잘 정리되어 있는 걸 확인할 수 있다!

 

🔍 리스트 구조 보기

str(Hong)
List of 6
 $ kor.name   : chr "홍길동"
 $ eng.name   : chr "Gil-dong"
 $ age        : num 43
 $ married    : logi TRUE
 $ no.child   : num 2
 $ child.ages : num [1:2] 13 10
 

→ str() 함수는 리스트의 구조 요약을 보여주는 좋은 도구!

 

🎯 리스트 성분 인덱싱

이름으로 접근: $ 연산자

Hong$age
# [1] 43
Hong$child.ages[2]
# [1] 10
 
 
문자열 또는 숫자 인덱스로 접근
Hong["age"]       # 리스트 형태로 추출
Hong[["age"]]     # 실제 값 추출
Hong[[2]]         # 두 번째 성분 추출

 

여러 개 성분 추출
Hong[c(1, 2)]     # kor.name과 eng.name을 리스트 형태로 추출
 

🔁 리스트 반복 처리 (lapply())

리스트의 각 성분에 같은 함수를 적용하려면 lapply()를 사용하면 된다!

x <- list(
  a = 1:10,
  beta = exp(-3:3),
  logic = c(TRUE, FALSE, FALSE, TRUE)
)

lapply(x, mean)
$a
[1] 5.5

$beta
[1] 4.535125

$logic
[1] 0.5

 

각 항목의 평균값이 나옴!

 

🎯 사분위수도 적용 가능!

lapply(x, quantile, probs = (1:3)/4)

→ 리스트의 각 성분에 대해 25%, 50%, 75% 분위수 계산

 

 

📌 오늘의 한줄 요약

리스트는 모든 타입이 다 들어갈 수 있음 ,,,,,, 💡

728x90
반응형
저작자표시 (새창열림)

'직장인 대학원 > R' 카테고리의 다른 글

[R] 데이터 프레임 (Data Frame)  (0) 2025.04.18
[R] 범주형 데이터 (Factor)  (0) 2025.04.18
[R] 매트릭스 (Matrix)  (0) 2025.04.18
[R] 벡터(Vector)  (0) 2025.04.18
[R] 기본 객체와 자료 형태  (1) 2025.04.18
  1. 🧱 리스트란?
  2. ✨ 리스트에 이름 붙이기 + 중첩 리스트
  3. 🔍 리스트 구조 보기
  4. 🎯 리스트 성분 인덱싱
  5. 🔁 리스트 반복 처리 (lapply())
  6. 🎯 사분위수도 적용 가능!
'직장인 대학원/R' 카테고리의 다른 글
  • [R] 데이터 프레임 (Data Frame)
  • [R] 범주형 데이터 (Factor)
  • [R] 매트릭스 (Matrix)
  • [R] 벡터(Vector)
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932)
      • 개발중 (634)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네트워크 관리사 요약
    네트워크 관리사 2급
    쿠버네티스 스터디
    네트워크 관리사 자격증
    알고리즘
    redis
    파이썬 알고리즘
    리눅스 1급 요약
    VUE
    jpa
    REST API
    리눅스 마스터 1급 정리
    리눅스 마스터 1급
    네트워크 관리사 학점
    springboot
    리눅스 마스터 요약
    Spring
    네트워크 관리사 2급 실기
    리눅스 마스터 1급 요약
    BackendDevelopment
    스프링
    네트워크 관리사
    쿠버네티스
    java
    네트워크 관리사 실기
    docker
    리눅스 마스터
    git
    파이썬
    Git 저장소
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
[R] 리스트 (List)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.