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)
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 |