Часто вам может понадобиться вывести таблицу на консоль в R, чтобы обобщить значения в каком-либо наборе данных.
В следующих примерах показано, как печатать таблицы в R с помощью функций table() и as.table() .
Пример 1: Печать односторонней таблицы из данных
Предположим, у нас есть следующий фрейм данных в R:
#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
position=c('Guard', 'Guard', 'Forward', 'Guard', 'Forward',
'Forward', 'Guard', 'Guard', 'Forward'),
points=c(14, 12, 15, 20, 22, 36, 10, 16, 19))
#view data frame
df
team position points
1 A Guard 14
2 A Guard 12
3 A Forward 15
4 B Guard 20
5 B Forward 22
6 B Forward 36
7 C Guard 10
8 C Guard 16
9 C Forward 19
Мы можем использовать функцию table() для суммирования количества каждого уникального значения в столбце position :
#create table for 'position' variable
table1 <- table(df$position)
#view table
table1
Forward Guard
4 5
Из таблицы видно, что «Вперед» встречается в столбце позиции 4 раза, а «Охрана» — 5 раз.
Это называется односторонней таблицей, потому что она суммирует одну переменную.
Пример 2: печать двусторонней таблицы из данных
Еще раз предположим, что у нас есть следующий фрейм данных в R:
#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
position=c('Guard', 'Guard', 'Forward', 'Guard', 'Forward',
'Forward', 'Guard', 'Guard', 'Forward'),
points=c(14, 12, 15, 20, 22, 36, 10, 16, 19))
#view data frame
df
team position points
1 A Guard 14
2 A Guard 12
3 A Forward 15
4 B Guard 20
5 B Forward 22
6 B Forward 36
7 C Guard 10
8 C Guard 16
9 C Forward 19
Мы можем использовать функцию table() для суммирования количества каждого уникального значения в столбцах team и position :
#create two-way table for 'team' and 'position' variables
table2 <- table(df$team, df$position)
#view table
table2
Forward Guard
A 1 2
B 2 1
C 1 2
Из таблицы мы видим:
- В команде А есть 1 нападающий.
- В команде А 2 охранника.
- В команде Б 2 нападающих.
И так далее.
Это называется двусторонней таблицей, потому что она суммирует количество двух переменных.
Пример 3: Печать таблицы с нуля
Предположим, мы уже знаем значения, которые хотим заполнить в таблице.
Например, предположим, что мы хотим создать следующую таблицу в R, которая показывает результаты опроса 100 человек, какой вид спорта им нравится больше всего:

Мы можем использовать функцию as.table() в R, чтобы быстро создать эту таблицу:
#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
Значения в таблице соответствуют значениям из таблицы, которую мы видели ранее.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как создать двустороннюю таблицу в R
Как создать таблицу непредвиденных обстоятельств в R
Как использовать rbindlist в R для создания одной таблицы данных из многих