Dplyr에서 ntile() 함수를 사용하는 방법(예제 포함)
R의 dplyr 패키지에 있는 ntile() 함수를 사용하여 입력 벡터를 n개의 bin으로 나눌 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
n타일(x, n)
금:
- x : 입력 벡터
- n : 구획수
참고 : 버킷 크기는 최대 1개까지 다를 수 있습니다.
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예 1: 벡터와 함께 ntile() 사용
다음 코드는 ntile() 함수를 사용하여 11개 요소의 벡터를 5개의 서로 다른 버킷으로 나누는 방법을 보여줍니다.
library (dplyr) #createvector x <- c(1, 3, 4, 6, 7, 8, 10, 13, 19, 22, 23) #break up vector into 5 buckets ntile(x, 5) [1] 1 1 1 2 2 3 3 4 4 5 5
결과에서 원본 벡터의 각 요소가 5개 버킷 중 하나에 배치되었음을 알 수 있습니다.
가장 작은 값은 버킷 1에 할당되고 가장 큰 값은 버킷 5에 할당됩니다.
예를 들어:
- 1, 3, 4 중 가장 작은 값이 버킷 1 에 할당됩니다.
- 가장 큰 값인 22와 23은 버킷 5 에 할당됩니다.
예제 2: 데이터 프레임과 함께 ntile() 사용
서로 다른 농구 선수들이 득점한 점수를 보여주는 다음과 같은 데이터 프레임이 R에 있다고 가정해 보겠습니다.
#create data frame df <- data. frame (player=LETTERS[1:9], points=c(12, 19, 7, 22, 24, 28, 30, 19, 15)) #view data frame df player points 1 to 12 2 B 19 3 C 7 4 D 22 5 E 24 6 F 28 7 G 30 8:19 a.m. 9 I 15
다음 코드는 ntile() 함수를 사용하여 점수에 따라 각 플레이어를 세 버킷 중 하나에 할당하는 데이터 프레임에 새 열을 만드는 방법을 보여줍니다.
library (dplyr) #create new column that assigns players into buckets based on points df$bucket <- ntile(df$points, 3) #view updated data frame df player points bucket 1 to 12 1 2 B 19 2 3 C 7 1 4 D 22 2 5 E 24 3 6 F 28 3 7 G 30 3 8:19 2 9 I 15 1
새로운 버킷 열은 각 플레이어에게 1에서 3 사이의 값을 할당합니다.
가장 낮은 점수를 받은 플레이어는 1 의 값을 받고 가장 높은 점수를 얻은 플레이어는 3 의 값을 받습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 기능을 사용하는 방법을 설명합니다.
dplyr에서 across() 함수를 사용하는 방법
dplyr에서 relocate() 함수를 사용하는 방법
dplyr에서 Slice() 함수를 사용하는 방법