Как создать двустороннюю таблицу в R (с примерами)


Двусторонняя таблица — это тип таблицы, в которой отображаются частоты для двух категориальных переменных.

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

В строках указан пол респондента, а в столбцах — какой вид спорта он выбрал:

В этом руководстве представлено несколько примеров того, как создавать и работать с двусторонними таблицами в R.

Пример 1: создание двусторонней таблицы с нуля

В следующем коде показано, как создать двустороннюю таблицу с нуля с помощью функции as.table() :

#create matrix
data <- matrix(c(13, 23, 15, 16, 20, 13), ncol= 3 )

#specify row and column names of matrix
rownames(data) <- c('Male', 'Female')
colnames(data) <- c('Baseball', 'Basketball', 'Football')

#convert matrix to table
data <- as. table (data)

#display table
data

 Baseball Basketball Football
Male 13 15 20
Female 23 16 13

Пример 2: создание двусторонней таблицы из данных

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

#create data frame
df <- data.frame(sport=c('Base', 'Base', 'Bask', 'Foot', 'Foot'),
 gender=c('Male', 'Female', 'Male', 'Male', 'Female'))

#view data frame 
df

#create two way table from data frame
data <- table(df$gender, df$sport)

#display two way table
data 

 Base Bask Foot
 Female 1 0 1
 Male 1 1 1

Пример 3: Расчет суммы маржи для двухсторонней таблицы

В следующем коде показано, как вычислить сумму маржи двустороннего стола с помощью функции margin.table() :

#create matrix of data
data <- matrix(c(13, 15, 20, 23, 16, 13), ncol=3)
rownames(data) <- c('Male', 'Female')
colnames(data) <- c('Baseball', 'Basketball', 'Football')

#find sum of genders
margin. table (data, margin=1)

 Male Female 
 49 51

#find sum of sports

margin. table (data, margin=2)

 Baseball Basketball Football 
 28 43 29

Пример 4. Визуализация частот двухполосной таблицы

Один из способов визуализировать частоты в двусторонней таблице — создать гистограмму :

barplot(data, legend= True , beside= True , main='Favorite Sport by Gender') 

Другой способ визуализировать частоты в двухсторонней таблице — создать мозаичную диаграмму :

mosaicplot(data, main='Sports Preferences', xlab='Gender', ylab='Favorite Sport')

Вы можете найти больше руководств по R на этой странице .