이전 포스팅에서 dplyr 패키지에서 무작위 추출 시 사용하는 sample_n, sample_frac 함수와 달리
무작위 추출이 아닌 순서대로 뽑거나 원하는 구간을 설정해서 데이터를 뽑는 slice()와
상위의 값을 추출해주는 top_n() 함수도 있다.
00. 데이터 불러오기
MASS 패키지의 내장 데이터 셋인 'cars93' 데이터 셋 사용
※ MASS 패키지의 select()함수와 'dplyr' 패키지의 select() 함수가 충돌하기 때문에 MASS 패키지를 먼저 불러온 후 dplyr 패키지를 불러와야 한다.
library(MASS)
library(dplyr)
df <- Cars93
df <- df %>% select(Manufacturer:Price) # 1~5열까지만 select / 93행 5열
01. dplyr :: slice()
01-1. 단일 행 추출
# 3번째에 위치한 행 추출
df %>% slice(3)
01-2. 여러행 추출
# 2, 3, 6번째에 위치한 행 추출
df %>% slice(2,3,6)
01-3. 행 범위 지정하여 추출
# 2에서 6번째에 위치한 5개의 행 추출
df %>% slice(2:6)
01-4. group에 따른 행 추출
# type별로 첫번째 위치한 행 추출
df %>% group_by(Type) %>% slice(1)
02. dplyr :: top_n()
02-1. top_n(x, n, wt) : 기준 컬럼에서 값이 가장 높은 n개의 데이터 추출
df %>% top_n(2, Price)
02-2. top_n(x, -n, wt) : 기준 컬럼에서 값이 가장 낮은 n개의 데이터 추출
df %>% top_n(-2, Price)
02-3. 그룹별로 price 값이 가장 낮은 1개의 데이터 추출
df %>% group_by(Type) %>% top_n(1, Price)
02-4. 그룹별로 price 값이 가장 낮은 1개의 데이터 추출
df %>% group_by(Type) %>% top_n(-1, Price)
참고 문헌(reference)
'R > dplyr' 카테고리의 다른 글
R | dplyr | 샘플 데이터 무작위 추출 - sample_frac(), sample_n() (0) | 2023.01.02 |
---|---|
R | dplyr | mutate, mutate_if , mutate_at - 새로운 변수 생성 및 처리 (1) | 2022.12.28 |
R | dplyr | 변수 추출 select(), select_if() (0) | 2022.12.15 |
R | dplyr | 데이터 정렬(arrange) (0) | 2022.12.09 |
R | dplyr | 조건에 맞는 행 추출(filter) (0) | 2022.12.09 |