Как создать таблицу частот нескольких переменных в r
Чтобы вычислить таблицу частот для нескольких переменных в кадре данных в R, вы можете использовать функцию apply() , которая использует следующий синтаксис:
применить (X, FUN MARGIN)
Золото:
- X: массив, матрица или блок данных.
- ПОЛЯ: применить функцию к строкам (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 To 6 2 1 A 7 3 2 To 7 4 2 To 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 AB 4 3 $var3 6 7 8 9 1 3 2 1
В результате получаются три таблицы частот – по одной для каждой переменной в кадре данных.
Вот как интерпретировать первую таблицу частот:
- Значение 1 появляется дважды в столбце «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 AB 4 3 $var3 6 7 8 9 1 3 2 1
Дополнительные ресурсы
Как создать двустороннюю таблицу в R
Как создать гистограмму относительной частоты в R