Как использовать функцию prop.table() в R (с примерами)


Функцию prop.table() в R можно использовать для вычисления значения каждой ячейки в таблице как доли всех значений.

Эта функция использует следующий базовый синтаксис:

prop. table (x, margin = NULL )

куда:

  • x : Имя таблицы
  • margin : поле для деления (1 = строка, 2 = столбец, по умолчанию NULL)

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

#create matrix
x <- matrix(1:6, nrow= 2 )

#view matrix
x

 [,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6

Пример 1: Используйте prop.table с полем = NULL

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

prop. table (x)

 [,1] [,2] [,3]
[1,] 0.04761905 0.1428571 0.2380952
[2,] 0.09523810 0.1904762 0.2857143

Сумма всех значений в исходной таблице: 1 + 3 + 5 + 2 + 4 + 6 = 21.

Функция prop.table() показывает каждое отдельное значение как долю от целого.

Например:

  • Ячейка [1, 1] = 1/21 = 0,0476
  • Ячейка [1, 2] = 3/21 = 0,1428
  • Ячейка [1, 3] = 5/21 = 0,2380
  • Ячейка [2, 1] = 2/21 = 0,0952
  • Ячейка [2, 2] = 4/21 = 0,1904
  • Ячейка [3, 2] = 6/21 = 0,2857

Обратите внимание, что все значения в выводе prop.table() составляют в сумме 1.

Пример 2: Используйте prop.table с маржей = 1

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

prop. table (x, margin = 1 )

 [,1] [,2] [,3]
[1,] 0.1111111 0.3333333 0.5555556
[2,] 0.1666667 0.3333333 0.5000000

Сумма всех значений в первой строке исходной таблицы: 1 + 3 + 5 = 9.

Сумма всех значений во второй строке исходной таблицы: 2 + 4 + 6 = 12.

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

Например:

  • Ячейка [1, 1] = 1/9 = 0,1111
  • Ячейка [1, 2] = 3/9 = 0,3333
  • Ячейка [1, 3] = 5/9 = 0,5555
  • Ячейка [2, 1] = 2/12 = 0,1667
  • Ячейка [2, 2] = 4/12 = 0,3333
  • Ячейка [3, 2] = 6/12 = 0,5000

Обратите внимание, что значения в каждой строке вывода prop.table() составляют в сумме 1.

Пример 3: Используйте prop.table с маржой = 2

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

prop. table (x, margin = 2 )

 [,1] [,2] [,3]
[1,] 0.3333333 0.4285714 0.4545455
[2,] 0.6666667 0.5714286 0.5454545

Сумма значений в первом столбце исходной таблицы равна: 1 + 2 = 3.

Сумма значений во втором столбце исходной таблицы равна: 3 + 4 = 7.

Сумма значений в третьем столбце исходной таблицы: 5 + 6 = 11.

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

Например:

  • Ячейка [1, 1] = 1/3 = 0,3333
  • Ячейка [2, 1] = 2/3 = 0,6667
  • Ячейка [1, 2] = 3/7 = 0,4285
  • Ячейка [2, 2] = 4/7 = 0,5714
  • Ячейка [1, 3] = 5/11 = 0,4545
  • Ячейка [3, 3] = 6/11 = 0,5454

Обратите внимание, что значения в каждом столбце вывода prop.table() составляют в сумме 1.

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

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

Как создать частотные таблицы в R
Как создать таблицы относительных частот в R
Как создать таблицу непредвиденных обстоятельств в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.