R에서 cut() 함수를 사용하는 방법


R의 cut() 함수는 값 범위를 빈으로 자르고 각 빈에 대한 레이블을 지정하는 데 사용할 수 있습니다.

이 함수는 다음 구문을 사용합니다.

컷(x, 나누기, 레이블 = NULL, …)

금:

  • x : 벡터 이름
  • break : 중단점 수 또는 중단점 벡터
  • labels : 결과 저장소에 대한 레이블

다음 예에서는 R의 다음 데이터 프레임을 사용하여 다양한 시나리오에서 이 함수를 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'),
                 points=c(4, 7, 8, 12, 14, 16, 20, 26, 36))

#view data frame
df

  player points
1 to 4
2 B 7
3 C 8
4 D 12
5 E 14
6 F 16
7 G 20
8:26 a.m.
9 I 36

예시 1: 나누기 횟수에 따라 벡터 자르기

다음 코드는 cut() 함수를 사용하여 점 열을 4개의 동일한 크기 그룹으로 자르는 Category 라는 새 열을 만드는 방법을 보여줍니다.

 #create new column that places each player into four categories based on points
df$category <- cut(df$points, breaks= 4 )

#view updated data frame
df

  player points category
1 to 4 (3.97.12]
2 B 7 (3.97.12]
3 C 8 (3.97.12]
4 D 12 (3.97.12]
5 E 14 (12.20]
6 F 16 (12.20]
7 G 20 (12.20]
8:26 a.m. (20.28]
9 I 36 (28.36]

break=4 를 지정했으므로 cut() 함수는 포인트 열의 값을 동일한 크기의 4개 그룹으로 나눕니다.

cut() 함수가 이를 수행한 방법은 다음과 같습니다.

  • 먼저 포인트 열(36 – 4 = 32)에서 가장 큰 값과 가장 작은 값의 차이를 찾았습니다.
  • 그런 다음 그는 이 차이를 4로 나눕니다(32 / 4 = 8).
  • 결과는 각각 너비가 8인 4개의 Bin입니다.

참고 : cut() 문서 의 다음 기능으로 인해 가장 낮은 간격은 4가 아닌 3.97입니다.

일시 중지가 단일 숫자로 지정되면 데이터 범위가 동일한 길이의 일시 중지 청크로 나누어진 다음 외부 한계가 범위에서 0.1% 떨어져 이동하여 이상값이 일시 중지 간격의 두 가지 모두에 포함되도록 합니다.

예 2: 특정 중단점을 기반으로 벡터 절단

다음 코드는 cut() 함수를 사용하여 특정 중단점의 벡터를 기반으로 열을 자르는 Category 라는 새 열을 만드는 방법을 보여줍니다.

 #create new column based on specific break points
df$category <- cut(df$points, breaks=c(0, 10, 15, 20, 40))

#view updated data frame
df

  player points category
1 to 4 (0.10]
2 B 7 (0.10]
3 C 8 (0.10]
4 D 12 (10.15]
5 E 14 (10.15]
6 F 16 (15.20]
7 G 20 (15.20]
8:26 a.m. (20.40)
9 I 36 (20.40]

cut() 함수는 우리가 제공한 특정 중단점 벡터를 기반으로 각 플레이어를 카테고리로 분류했습니다.

예 3: 특정 중단점 및 레이블을 사용하여 벡터 자르기

다음 코드는 cut() 함수를 사용하여 사용자 정의 레이블이 있는 특정 중단점의 벡터를 기반으로 열을 자르는 카테고리 라는 새 열을 만드는 방법을 보여줍니다.

 #create new column based on values in points column
df$category <- cut(df$points,
                   breaks=c(0, 10, 15, 20, 40),
                   labels=c(' Bad ', ' OK ', ' Good ', ' Great '))

#view updated data frame
df

  player points category
1 A 4 Bad
2 B 7 Bad
3 C 8 Bad
4 D 12 OK
5 E 14 OK
6 F 16 Good
7 G 20 Good
8:26 A.M. Great
9 I 36 Great

새로운 카테고리 열은 포인트 열의 해당 값을 기준으로 각 플레이어의 순위를 Bad, OK, Good 또는 Excellent로 지정합니다.

참고 : 다음 오류를 방지하려면 레이블 수는 항상 중단점 수보다 1개 적어야 합니다.

 Error in cut.default(df$points, breaks = c(0, 10, 15, 20, 40), labels = c("Bad",: 
  lengths of 'breaks' and 'labels' differ

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 기능을 사용하는 방법을 설명합니다.

R에서 tabulate() 함수를 사용하는 방법
R에서 Split() 함수를 사용하는 방법
R에서 match() 함수를 사용하는 방법
R에서 Replicate() 함수를 사용하는 방법

의견을 추가하다

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