Чтобы вычислить таблицу частот для нескольких переменных во фрейме данных в 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