如何在 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=1prop.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=2prop.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 中执行其他常见操作:

如何在 R 中创建频率表
如何在 R 中创建相对频率表
如何在 R 中创建列联表

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注