如何在 r 中使用 prop.table() 函数(附示例)
R 中的prop.table()函数可用于计算表中每个单元格的值与所有值的比例。
该函数使用以下基本语法:
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 且 margin = 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:使用 margin = 1 的 prop.table
以下代码演示了如何使用margin=1的prop.table() ,它将每个单独的值除以行总和:
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:使用 margin = 2 的 prop.table
以下代码演示了如何使用margin=2的prop.table() ,它将每个单独的值除以列总和:
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 中执行其他常见操作: