R에서 데이터를 동일한 크기의 그룹으로 분할하는 방법
R에서 ggplot2 패키지의 cut_number() 함수를 사용하여 벡터를 동일한 크기의 그룹으로 나눌 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
컷_번호(x,n)
금:
- x: 나눌 디지털 벡터의 이름
- n: 그룹 수
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예: R에서 데이터를 동일한 크기의 그룹으로 나누는 방법
12명의 서로 다른 농구 선수가 득점한 점수에 대한 정보를 포함하는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.
#create data frame df <- data. frame (player=LETTERS[1:12], points=c(1, 2, 2, 2, 4, 5, 7, 9, 12, 14, 15, 22)) #view data frame df player points 1 to 1 2 B 2 3 C 2 4 D 2 5 E 4 6 F 5 7 G 7 8:9 a.m. 9 I 12 10 D 14 11K15 12 L 22
관련 항목: R에서 LETTERS 함수를 사용하는 방법
ggplot2 패키지의 cut_number() 함수를 사용하여 데이터 프레임의 각 행을 포인트 열의 값에 따라 세 그룹 중 하나로 나누는 group 이라는 새 열을 만들 수 있습니다.
library (ggplot2) #create new column that splits data into three equal sized groups based on points df$group <- cut_number(df$points, 3) #view updated data frame df player points group 1 To 1 [1,3.33] 2 B 2 [1,3.33] 3 C 2 [1,3.33] 4 D 2 [1,3.33] 5 E 4 (3.33.10] 6 F 5 (3.33.10] 7 G 7 (3.33.10] 8 A.M. 9 (3.33.10] 9 I 12 (10.22] 10 J 14 (10.22] 11 K 15 (10.22] 12 L 22 (10.22]
12명의 플레이어는 각각 포인트 열에 표시된 값에 따라 세 그룹 중 하나에 배치되었습니다.
결과에서 우리는 3개의 서로 다른 그룹이 있음을 알 수 있습니다.
- 그룹 1: 점수 값은 1에서 3.33 사이입니다.
- 그룹 2: 점수 값이 3.33에서 10 사이입니다.
- 그룹 3: 점수 값은 10에서 22 사이입니다.
각 그룹에는 4명의 플레이어가 배치되어 있는 것을 볼 수 있습니다.
그룹 열에서 그룹을 정수 값으로 표시하려면 cut_number() 함수를 as.numeric() 함수로 래핑하면 됩니다.
library (ggplot2) #create new column that splits data into three equal sized groups based on points df$group <- as. numeric (cut_number(df$points, 3)) #view updated data frame df player points group 1 A 1 1 2 B 2 1 3 C 2 1 4 D 2 1 5 E 4 2 6 F 5 2 7 G 7 2 8:92 a.m. 9 I 12 3 10 D 14 3 11 K 15 3 12 L 22 3
이제 새 그룹 열에는 플레이어가 속한 그룹을 나타내는 1, 2, 3 값이 포함됩니다.
다시 말하지만, 각 그룹에는 4명의 플레이어가 포함됩니다.
참고 : 포인트 열을 3개 이상의 그룹으로 분할하려면 cut_number() 함수의 3을 다른 숫자로 바꾸면 됩니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
R에서 데이터 프레임을 분할하는 방법
R에서 데이터를 훈련 세트와 테스트 세트로 분할하는 방법
R에서 데이터 그룹화를 수행하는 방법