[Data Science With R] 4. 티블(Tibble) (202406)

2023. 3. 30. 13:39·Data Science/Manipulation

1. 정의

티블(tibble)은 R의 데이터프레임과 유사하지만, 더 편리하고 직관적인 형태로 데이터를 다룰 수 있도록 설계된 객체(클래스)입니다.
tidyverse 생태계에서 널리 사용되며, 데이터 분석의 효율성을 높여줍니다.

 

 

2. 주요 함수 정리

  • as_tibble( ) : Data Frame or Matrix 객체를 티블로 변환
  • tibble( ) : 개별 벡터로부터 새로운 티블 생성
  • tribble( ) : 전치된 티블의 줄임말로 인스턴스 입력에서 새로운 태블 생성 (변수명은 ~를 사용하여 표시)
  • enframe( ) : 벡터를 티블로 변환
  • deframe( ) : 열이 하나 또는 두개인 티블이나 데이터프레임을 벡터로 변환

 

예시) tibble형과 메트릭스 객체의 차이

library(tidyverse)
print(iris)
print(as_tibble(iris))

  • 기본 데이터 프레임은 모든 데이터를 한 번에 출력하여 읽기 어렵습니다.
  • 티블은 데이터가 길 때 자동으로 행과 열을 간략화하여 보기 쉽게 출력합니다.
  • 각 열의 데이터 타입도 함께 출력해줍니므로 데이터 탐색에 매우 유리합니다.

 

예시) tribble( ) 함수를 이용한 티블형 객체 생성

tribble(
  ~ID, ~name, ~score,
  1, "홍길동", 78,
  2, "김기보", 90,
  3, "이민정", 48)

 

예시) enframe, deframe 함수

score <- runif(20)            # 난수 20개 생성
names(score) <- letters[1:20] # named vector

scoretb <- enframe(score, name = "id", value="score")
deframe(scoretb)

(좌) enframe (우) deframe

 

 

3. 특징

  • 입력한 유형을 변환하지 않고, 변수명을 바꾸거나 행 번호를 임의로 생성하지 않음
  • R에서 일반적으로 사용할 수 없는 비구문론적(non-syntactic) 변수명도 사용 가능 (단, 역따옴표(backtick)를 사용해야 함)
  • 리스트 열(list-columns)을 지원하여 더 복잡한 데이터를 쉽게 다룰 수 있음
  • 티블을 생성하면서 이미 정의한 변수를 활용하여 새로운 변수를 생성 가능 (일반 데이터프레임은 지원하지 않음)
  • 변수명에 접근할 때 부분 일치(partial matching)를 허용하지 않음
  • 화면 출력 시 콘솔을 넘어가지 않도록 설계되어 가독성 우수
df <- data.frame(abc = 1, xyz = "a")
tb <- tibble(abc = 1, xyz = "a")

# 데이터프레임은 부분 일치로 열이름 접근 허용
df$x  # "a" 출력됨

# 티블은 정확한 열 이름만 접근 가능
tb$x  # 오류 발생, 열 'x' 없음

 

 

4. 출력설정

  • print( tibble_data, n, width ) : 출력 행수(n)와 너비(width) 조절 (* width=Inf로 하면 모든 열 출력)
  • option(tibble.width=Inf) : 화면 너비와 상관없이 모든 열 출력
  • options(tibble.print_max =n, tibble.print_min=m) : m행 이상인 경우 n행만 표시 

 

 

5. 서브셋팅(Subsetting)

  벡터로 출력 티블로 출력 벡터로 출력
(파이프 사용)
티블로 출력
(파이프사용)
이름 tb$x tb["x"] tb |> pull(x) tb |> select(x)
위치 tb[[1]] tb[1] tb |> pull(1) tb |> select(1)

 

저작자표시 비영리 변경금지 (새창열림)

'Data Science > Manipulation' 카테고리의 다른 글

[Data Science With R] 6. 파싱(Parsing) (202405)  (0) 2023.03.31
[Data Science With R] 5. readr로 파일 읽기 (202503)  (0) 2023.03.31
[Data Science With R] 3. 탐색적 데이터 분석 (Exploratory Data Analysis) (202405)  (0) 2023.03.29
[Data Science With R] 2. 데이터 변형 (202405)  (1) 2023.03.29
[Data Science with R] 1. 데이터 시각화 (202405)  (1) 2023.03.29
'Data Science/Manipulation' 카테고리의 다른 글
  • [Data Science With R] 6. 파싱(Parsing) (202405)
  • [Data Science With R] 5. readr로 파일 읽기 (202503)
  • [Data Science With R] 3. 탐색적 데이터 분석 (Exploratory Data Analysis) (202405)
  • [Data Science With R] 2. 데이터 변형 (202405)
임파카
임파카
[ML & Statistics] 모바일 버전에서 수식 오류가 있어 PC 환경에서 접속하는 것을 권장합니다.
  • 임파카
    무기의 스탯(Stat)
    임파카
  • 전체
    오늘
    어제
    • Study (149)
      • Data Science (44)
        • Modeling (18)
        • Manipulation (21)
        • Visualization (4)
      • Statistics (59)
        • Mathmetical Statistics (53)
        • Categorical DA (1)
      • Web Programming (17)
      • AI (26)
        • Machine Learning (16)
        • Deep Learning (10)
      • 활동 및 프로젝트 (3)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
임파카
[Data Science With R] 4. 티블(Tibble) (202406)
상단으로

티스토리툴바