R | dplyr | 그 외 데이터 추출 - slice() , top_n()

2023. 1. 2. 15:35·R/dplyr

 

이전 포스팅에서 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)

더보기

참고 사이트 

https://www.statology.org/dplyr-slice/

 

'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
'R/dplyr' 카테고리의 다른 글
  • R | dplyr | 샘플 데이터 무작위 추출 - sample_frac(), sample_n()
  • R | dplyr | mutate, mutate_if , mutate_at - 새로운 변수 생성 및 처리
  • R | dplyr | 변수 추출 select(), select_if()
  • R | dplyr | 데이터 정렬(arrange)
갬보리
갬보리
제발 코드정리좀 하자 (R, SQL, SAS, Python , etc...)
  • 갬보리
    보딩코
    갬보리
  • 전체
    오늘
    어제
    • 분류 전체보기 (49)
      • R (32)
        • dplyr (7)
        • preprocessing (2)
        • EDA (0)
        • ggplot2 (10)
        • plotly (11)
        • leaflet (2)
      • SQL (15)
      • SAS (0)
      • Python (1)
        • preprocessing (0)
        • ML (0)
        • Library (0)
      • ETC (1)
  • hELLO· Designed By정상우.v4.10.3
갬보리
R | dplyr | 그 외 데이터 추출 - slice() , top_n()
상단으로

티스토리툴바