Cara menghitung mode berdasarkan grup di r (dengan contoh)


Modus kumpulan data mewakili nilai yang paling sering muncul.

Perangkat lunak statistik R tidak memiliki fungsi bawaan untuk menghitung mode kumpulan data, namun Anda dapat menggunakan fungsi berikut untuk menghitung mode:

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

Contoh berikut menunjukkan cara menggunakan fungsi ini untuk menghitung mode berdasarkan grup di R.

Contoh 1: mode hitung berdasarkan grup di R (satu mode)

Misalkan kita memiliki kerangka data berikut di R yang menunjukkan poin yang dicetak oleh pemain bola basket dari tim berbeda:

 #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

Kita dapat menggunakan kode berikut untuk menghitung modus poin , dikelompokkan berdasarkan tim :

 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

Dari hasilnya kita dapat melihat:

  • Mode poin untuk Tim A adalah 7 .
  • Mode poin untuk Tim B adalah 12 .

Contoh 2: Hitung mode berdasarkan grup di R (beberapa mode)

Misalkan kita memiliki bingkai data berikut di 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

Kita dapat menggunakan kode berikut untuk menghitung modus poin , dikelompokkan berdasarkan tim :

 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

Dari hasilnya kita dapat melihat:

  • Mode poin untuk Tim A adalah 7 .
  • Metode penilaian untuk Tim B adalah 12 dan 10 .

Dalam contoh ini, dua nilai poin paling sering muncul untuk Tim B. Oleh karena itu, masing-masing nilai mode ini dikembalikan pada baris terpisah untuk Tim B dalam output.

Sumber daya tambahan

Tutorial berikut menjelaskan cara menghitung statistik deskriptif lainnya di R:

Cara menghitung rangkuman lima angka di R
Cara membuat tabel ringkasan di R
Cara menggunakan fungsi Mean() di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *