R에서 그룹별로 모드를 계산하는 방법(예제 포함)


데이터 세트의 모드는 가장 빈번한 값을 나타냅니다.

R 통계 소프트웨어에는 데이터 세트의 모드를 계산하는 내장 기능이 없지만 다음 기능을 사용하여 모드를 계산할 수 있습니다.

 find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

다음 예에서는 이 함수를 사용하여 R에서 그룹별 모드를 계산하는 방법을 보여줍니다.

예시 1: R의 그룹별 모드 계산(1개 모드)

서로 다른 팀의 농구 선수들이 득점한 점수를 보여주는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(5, 7, 7, 9, 12, 12, 10, 14))

#view data frame
df

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

다음 코드를 사용하여 팀별 로 그룹화된 포인트 모드를 계산할 수 있습니다.

 library (dplyr)

#define function to calculate mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode of 'points' by 'team'
df %>%
  group_by(team) %>%
  summarize(mode_points = find_mode(points))

# A tibble: 2 x 2
  team mode_points
         
1 to 7
2 B 12

결과에서 다음을 확인할 수 있습니다.

  • A팀의 포인트 모드는 7 입니다.
  • B팀의 포인트 모드는 12점 입니다.

예 2: R의 그룹별 모드 계산(다중 모드)

R에 다음과 같은 데이터 프레임이 있다고 가정합니다.

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(5, 7, 7, 9, 12, 12, 10, 10))

#view data frame
df

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

다음 코드를 사용하여 팀별 로 그룹화된 포인트 모드를 계산할 수 있습니다.

 library (dplyr)

#define function to calculate mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode of 'points' by 'team'
df %>%
  group_by(team) %>%
  summarize(mode_points = find_mode(points))

# A tibble: 3 x 2
# Groups: team [2]
  team mode_points
         
1 to 7
2 B 12
3 B 10

결과에서 다음을 확인할 수 있습니다.

  • A팀의 포인트 모드는 7 입니다.
  • B팀의 채점 방식은 12점10점 이다.

이 예에서는 Team B에 대해 두 개의 포인트 값이 가장 자주 발생했습니다. 따라서 이러한 각 모드 값은 출력에서 Team B에 대해 별도의 줄에 반환됩니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 기술 통계를 계산하는 방법을 설명합니다.

R에서 다섯 숫자의 요약을 계산하는 방법
R에서 요약 테이블을 만드는 방법
R에서 Mean() 함수를 사용하는 방법

의견을 추가하다

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