Функцию 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