Есть два способа быстрого создания таблиц в R:
Способ 1: Создайте таблицу из существующих данных.
tab <- table(df$row_variable, df$column_variable)
Способ 2: Создайте таблицу с нуля.
tab <- matrix (c(7, 5, 14, 19, 3, 2, 17, 6, 12), ncol= 3 , byrow= TRUE )
colnames(tab) <- c('colName1','colName2','colName3')
rownames(tab) <- c('rowName1','rowName2','rowName3')
tab <- as.table (tab)
В этом руководстве показан пример создания таблицы с использованием каждого из этих методов.
Создайте таблицу из существующих данных
Следующий код показывает, как создать таблицу из существующих данных:
#make this example reproducible
set.seed(1)
#define data
df <- data.frame(team= rep (c('A', 'B', 'C', 'D'), each= 4 ),
pos= rep (c('G', 'F'), times= 8 ),
points= round (runif(16, 4, 20), 0 ))
#view head of data
head(df)
team pos points
1 A G 8
2 A F 10
3 A G 13
4 A F 19
5 B G 7
6 B F 18
#create table with 'position' as rows and 'team' as columns
tab1 <- table(df$pos, df$team)
tab1
A B C D
F 2 2 2 2
G 2 2 2 2
В этой таблице показаны частоты для каждой комбинации команды и позиции. Например:
- 2 игрока занимают позицию «F» в команде «А».
- 2 игрока находятся на позиции «G» в команде «А».
- 2 игрока находятся на позиции «F» в команде «B».
- 2 игрока находятся на позиции «G» в команде «B».
И так далее.
Создать таблицу с нуля
Следующий код показывает, как создать таблицу с 4 столбцами и 2 строками с нуля:
#create matrix with 4 columns
tab <- matrix( rep (2, times= 8 ), ncol= 4 , byrow= TRUE )
#define column names and row names of matrix
colnames(tab) <- c('A', 'B', 'C', 'D')
rownames(tab) <- c('F', 'G')
#convert matrix to table
tab <- as.table (tab)
#view table
tab
A B C D
F 2 2 2 2
G 2 2 2 2
Обратите внимание, что эта таблица точно такая же, как та, что была создана в предыдущем примере.
Дополнительные ресурсы
Как перебрать имена столбцов в R
Как создать пустой фрейм данных в R
Как добавить строки во фрейм данных в R