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() 함수를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다