Dplyr을 사용하여 그룹별로 행을 구성하는 방법(예제 포함)


다음 방법을 사용하여 dplyr에서 그룹별로 행을 구성할 수 있습니다.

방법 1: 그룹별로 오름차순으로 행 정렬

 library (dplyr)

#arrange rows in ascending order based on col2, grouped by col1
df %>%
  group_by(col1) %>%
  arrange(col2, . by_group = TRUE )

방법 2: 그룹별로 내림차순으로 행 정렬

 library (dplyr)

#arrange rows in descending order based on col2, grouped by col1
df %>%
  group_by(col1) %>%
  arrange( desc (col2), . by_group = TRUE )

방법 3: 여러 그룹으로 줄 구성

 library (dplyr)

#arrange rows based on col3, grouped by col1 and col2
df %>%
  group_by(col1, col2) %>%
  arrange(col3, . by_group = TRUE )

이 튜토리얼에서는 다음 데이터 프레임을 사용하여 실제로 각 방법을 사용하는 방법을 설명합니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 12, 3, 14, 22, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 12
3 AF 3
4 AF 14
5 BG 22
6 BG 15
7 BF 17
8 BF 17

예시 1: 그룹별로 행을 오름차순으로 정렬

다음 코드는 열별로 그룹화된 points를 기준으로 행을 오름차순으로 정렬하는 방법을 보여줍니다.

 library (dplyr)

#arrange rows in ascending order by points, grouped by team
df %>%
  group_by(team) %>%
  arrange(points, . by_group = TRUE )

# A tibble: 8 x 3
# Groups: team [2]
  team position points
        
1 AF 3
2 AG 10
3 AG 12
4 AF 14
5 BG 15
6 BF 17
7 BF 17
8 BG 22

라인은 열별로 그룹화되어 포인트 별로 오름차순(가장 작은 것부터 가장 큰 것까지)으로 나열됩니다.

예시 2: 그룹별로 내림차순으로 행 정렬

다음 코드는 열별로 그룹화된 points를 기준으로 내림차순으로 행을 정렬하는 방법을 보여줍니다.

 library (dplyr)

#arrange rows in descending order by points, grouped by team
df %>%
  group_by(team) %>%
  arrange( desc (dots), .by_group = TRUE )

# A tibble: 8 x 3
# Groups: team [2]
  team position points
        
1 AF14
2 AG 12
3 AG 10
4 AF 3
5 BG 22
6 BF 17
7 BF 17
8 BG 15

행은 열별로 그룹화되어 포인트 별로 내림차순(최대에서 최소)으로 나열됩니다.

예 3: 여러 그룹으로 라인 구성

다음 코드는 직책 열별로 그룹화된 points를 기준으로 행을 오름차순으로 정렬하는 방법을 보여줍니다.

 library (dplyr)

#arrange rows in descending order by points, grouped by team and position
df %>%
  group_by(team, position) %>%
  arrange(points, . by_group = TRUE )

# A tibble: 8 x 3
# Groups: team, position [4]
  team position points
        
1 AF 3
2 AF14
3 AG 10
4 AG 12
5 BF 17
6 BF 17
7 BG 15
8 BG 22

라인은 위치 열별로 그룹화되어 포인트 별로 오름차순(가장 작은 것부터 가장 큰 것까지)으로 나열됩니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

dplyr을 사용하여 고유 값을 필터링하는 방법
dplyr을 사용하여 여러 조건으로 필터링하는 방법
R의 열에서 발생 횟수를 계산하는 방법

의견을 추가하다

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