Dplyr을 사용하여 고유 값을 계산하는 방법(예제 포함)


dplyrn_distinct() 함수를 사용하여 R 데이터 프레임의 고유 값 수를 계산하려면 다음 방법 중 하나를 사용할 수 있습니다.

방법 1: 열의 고유 값 계산

 n_distinct(df$column_name)

방법 2: 모든 열의 고유 값 계산

 sapply(df, function (x) n_distinct(x))

방법 3: 그룹별로 고유한 값 계산

 df %>%
group_by (grouping_column) %>%
summarize (count_distinct = n_distinct(values_column))

다음 예에서는 다음 데이터 프레임에서 이러한 각 방법을 실제로 사용하는 방법을 보여줍니다.

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(6, 6, 8, 10, 9, 9, 12, 12),
                 assists=c(3, 6, 4, 2, 4, 5, 5, 9))

#view data frame
df

  team points assists
1 to 6 3
2 to 6 6
3 to 8 4
4 to 10 2
5 B 9 4
6 B 9 5
7 B 12 5
8 B 12 9

방법 1: 열의 고유 값 계산

다음 코드는 n_distinct()를 사용하여 ‘team’ 열의 고유 값 수를 계산하는 방법을 보여줍니다.

 #count distinct values in 'team' column
n_distinct(df$team)

[1] 2

‘팀’ 열에는 2개의 고유한 값이 있습니다.

방법 2: 모든 열의 고유 값 계산

다음 코드는 sapply()n_distinct() 함수를 사용하여 데이터 프레임의 각 열에 있는 고유 값의 개수를 계산하는 방법을 보여줍니다.

 #count distinct values in every column
sapply(df, function (x) n_distinct(x))

   team points assists 
      2 5 6

결과에서 우리는 다음을 볼 수 있습니다:

  • ‘팀’ 열에는 2개의 고유한 값이 있습니다.
  • “포인트” 열에는 5개의 고유한 값이 있습니다.
  • “도움말” 열에는 6개의 고유한 값이 있습니다.

방법 3: 그룹별로 고유한 값 계산

다음 코드는 n_distinct() 함수를 사용하여 그룹당 고유 값의 개수를 계산하는 방법을 보여줍니다.

 #count distinct 'points' values by 'team'
df %>%
  group_by (team) %>%
  summarize (distinct_points = n_distinct(points))

# A tibble: 2 x 2
  team distinct_points 
1 to 3
2 B 2

결과에서 우리는 다음을 볼 수 있습니다:

  • A팀에는 3가지 고유한 포인트 값이 있습니다.
  • B팀에는 2 가지 별도의 포인트 값이 있습니다.

추가 리소스

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

dplyr을 사용하여 값을 다시 코딩하는 방법
dplyr에서 NA를 0으로 바꾸는 방법
dplyr을 사용하여 그룹별로 변수를 정렬하는 방법
dplyr을 사용하여 그룹별로 첫 번째 행을 선택하는 방법

의견을 추가하다

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