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


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

Самый простой способ создать таблицу из трех записей в R — использовать функцию xtabs() :

 three_way <- xtabs(~var1 + var2 + var3, data=df)

Если вы хотите более компактно отобразить трехсторонний массив, вы можете использовать функцию ftable() :

 three_way_ftable <- ftable(three_way)

Примечание . Функции xtabs() и ftable() интегрированы в базу данных R.

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

Пример: как создать трехсторонние таблицы в R

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'G', 'F', 'F', 'G', 'G', 'F', 'F', 'F'),
                 starter=c('Yes', 'No', 'No', 'Yes', 'No',
                           'Yes', 'No', 'Yes', 'Yes', 'No'),
                 points=c(30, 28, 24, 24, 28, 14, 16, 20, 34, 29))

#view data frame
df

   team position starter points
1 AG Yes 30
2 AG No. 28
3 AG No. 24
4 AF Yes 24
5 AF No. 28
6 BG Yes 14
7 BG No. 16
8 BF Yes 20
9 BF Yes 34
10 BF No. 29

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

Мы можем использовать функцию xtabs() для создания этого трехстороннего массива:

 #create three-way table
three_way <- xtabs(~ team + position + starter, data=df)

#view three-way table
three_way

, , starter = No

    position
team FG
   AT 12
   B 1 1

, , starter = Yes

    position
team FG
   At 1 1
   B 2 1

Первая таблица результатов показывает частоту появления игроков по командам и позициям , где стартовая переменная равна No.

Во второй таблице показана частота появления игроков по командам и позициям , где стартовая переменная равна Да.

Если мы хотим, мы можем использовать функцию ftable() , чтобы «свести» эти массивы в один массив:

 #convert table to ftable
three_way_ftable <- ftable(three_way)

#view ftable
three_way_fttable

              starter No Yes
team position               
AF 1 1
     G 2 1
BF 1 2
     G 1 1

Полученная таблица с тремя переменными показывает частоты трех переменных в «плоском» формате.

Например, мы можем увидеть:

  • Был 1 игрок, который входил в состав команды А, позиция F, и не входил в стартовый состав.
  • Был 1 игрок, который входил в команду А, позиция F, и был в стартовом составе.
  • Было 2 игрока, которые входили в состав команды А, позиция G, и не входили в стартовый состав.

И так далее.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *