Jak obliczyć tryb według grupy w r (z przykładami)


Tryb zbioru danych reprezentuje najczęstszą wartość.

Oprogramowanie statystyczne R nie ma wbudowanej funkcji obliczania trybu zbioru danych, ale do obliczania trybu można użyć następującej funkcji:

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

Poniższe przykłady pokazują, jak używać tej funkcji do obliczania trybu według grupy w R.

Przykład 1: obliczanie trybu według grupy w R (jeden tryb)

Załóżmy, że mamy następującą ramkę danych w R, która pokazuje punkty zdobyte przez koszykarzy z różnych drużyn:

 #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

Możemy użyć poniższego kodu do obliczenia trybu punktów pogrupowanych według drużyn :

 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

Z wyników możemy zobaczyć:

  • Tryb punktów dla Drużyny A to 7 .
  • Tryb punktów dla Drużyny B to 12 .

Przykład 2: Oblicz tryb według grupy w R (wiele trybów)

Załóżmy, że mamy następującą ramkę danych w 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

Możemy użyć poniższego kodu do obliczenia trybu punktów pogrupowanych według drużyn :

 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

Z wyników możemy zobaczyć:

  • Tryb punktów dla Drużyny A to 7 .
  • Metoda punktacji dla Drużyny B to 12 i 10 .

W tym przykładzie najczęściej występowały dwie wartości punktowe dla Zespołu B. Każda z tych wartości trybu jest zatem zwracana w osobnym wierszu dla Zespołu B na wyjściu.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak obliczać inne statystyki opisowe w R:

Jak obliczyć podsumowanie pięciu liczb w R
Jak utworzyć tabele podsumowujące w R
Jak korzystać z funkcji Mean() w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *