Как создать таблицы относительных частот в R


Таблица относительной частоты показывает, как часто встречаются определенные значения в наборе данных по отношению к общему количеству значений в наборе данных.

Вы можете использовать следующий базовый синтаксис для создания таблицы частот в R:

table(data)/length(data)

Функция table() вычисляет частоту каждого отдельного значения данных, а функция length() вычисляет общее количество значений в наборе данных.

Таким образом, деление каждой отдельной частоты на длину набора данных дает нам относительную частоту каждого значения в наборе данных.

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: Таблица относительных частот для одного вектора

Следующий код показывает, как создать таблицу относительных частот для одного вектора в R:

#define data
data <- c('A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C')

#create relative frequency table
table(data)/length(data)

 A B C 
0.2 0.3 0.5 

Вот как интерпретировать таблицу:

  • 20% всех значений в наборе данных — это буква А
  • 30% всех значений в наборе данных — это буква B
  • 50% всех значений в наборе данных — это буква C

Пример 2: Таблица относительных частот для одного столбца фрейма данных

В следующем коде показано, как создать таблицу относительных частот для одного столбца фрейма данных в R:

#define data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'),
 wins=c(2, 9, 11, 12, 15, 17, 18, 19),
 points=c(1, 2, 2, 2, 3, 3, 3, 3))

#view first few rows of data frame
head(df)

 team wins points
1 A 2 1
2 A 9 2
3 A 11 2
4 A 12 2
5 A 15 3
6 B 17 3

#calculate relative frequency table for 'team' column
table(df$team)/length(df$team)

 A B C 
0.625 0.250 0.125

Пример 3: Таблица относительных частот для всех столбцов кадра данных

В следующем коде показано, как создать таблицу относительных частот для каждого столбца фрейма данных в R:

#define data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'),
 wins=c(2, 9, 11, 12, 15, 17, 18, 19),
 points=c(1, 2, 2, 2, 3, 3, 3, 3))

#calculate relative frequency table for each column
sapply(df, function (x) table(x)/nrow(df))

$team
x
 A B C 
0.625 0.250 0.125 

$wins
x
 2 9 11 12 15 17 18 19 
0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 

$points
x
 1 2 3 
0.125 0.375 0.500

Дополнительные ресурсы

Как создать частотные таблицы в R
Как создать таблицу частот нескольких переменных в R