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


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

применить (X, MARGIN FUN)

куда:

  • X: массив, матрица или фрейм данных.
  • MARGIN: применение функции к строкам (1) или столбцам (2)
  • FUN: функция, которую нужно применить

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

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

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

#create data frame
df <- data.frame(var1=c(1, 1, 2, 2, 2, 2, 3),
 var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
 var3=c(6, 7, 7, 7, 8, 8, 9))

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

 var1 var2 var3
1 1 A 6
2 1 A 7
3 2 A 7
4 2 A 7
5 2 B 8
6 2 B 8

#calculate frequency table for every variable in data frame
apply((df), 2, table)

$var1

1 2 3 
2 4 1 

$var2

A B 
4 3 

$var3

6 7 8 9 
1 3 2 1

Результатом являются три таблицы частот — по одной для каждой переменной во фрейме данных.

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

  • Значение 1 появляется 2 раза в столбце «var1».
  • Значение 2 появляется 4 раза в столбце «var2».
  • Значение 3 появляется 1 раз в столбце «var3»

Аналогично можно интерпретировать и другие таблицы частот.

Пример 2: Таблица частот для определенных переменных в R

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

#create data frame
df <- data.frame(var1=c(1, 1, 2, 2, 2, 2, 3),
 var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
 var3=c(6, 7, 7, 7, 8, 8, 9))

#calculate frequency table for var1 and var3 columns
apply((df[c('var1', 'var3')]), 2, table)

$var1

1 2 3 
2 4 1

$var3

6 7 8 9 
1 3 2 1

Пример 3. Таблица частот для всех переменных R, кроме одной.

Предположим, у нас есть столбец индекса во фрейме данных, и мы хотели бы рассчитать таблицу частот для каждой переменной в фрейме данных, кроме столбца индекса.

Следующий код показывает, как это сделать:

#create data frame
df <- data.frame(index=c(1, 2, 3, 4, 5, 6, 7),
 var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
 var3=c(6, 7, 7, 7, 8, 8, 9))

#calculate frequency table for all columns except index column
apply((df[-1]), 2, table)

$var2

A B 
4 3 

$var3

6 7 8 9 
1 3 2 1

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.