r - 是否可以将百分比添加到列联表中

标签 r

我对 R 中的 table() 函数有疑问。我想添加一个额外的列来显示 table() 计数的百分比。我有一个像这样的数据框:

delta=data.frame(x1=c("x001","x001","x002","x002","x001","x001","x002"),x2=c(1,2,1,1,1,1,1))

当我计算这个数据框的table()时,我得到了这个:

table(delta$x1,delta$x2)

       1 2
  x001 3 1
  x002 3 0

可以在此表中添加百分比,或者 R 中有任何函数或包可以计算如下内容:

       1 2  Number Percentage
  x001 3 1    4     0.5714286
  x002 3 0    3     0.4285714

感谢您的帮助。

最佳答案

您可以使用prop.tableaddmargins

tbl <- table(delta$x1,delta$x2)

prop.table(tbl)

# 1         2
# x001 0.4285714 0.1428571 
# x002 0.4285714 0.0000000

addmargins(tbl)

# 1 2 Sum
# x001 3 1   4
# x002 3 0   3
# Sum  6 1   7

编辑

当然你可以做类似的事情

rowSums(prop.table(tbl)) 
     x001      x002 
0.5714286 0.4285714 

但我的回答是,R 中有一些内置函数可以完成 table 功能。

关于r - 是否可以将百分比添加到列联表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15866488/

相关文章:

r - 在不存在的日期之间插入累积值 :

r - 无法使 RcppZiggurat 种子设置发挥作用

r - 如何使用igraph或tnet在R中创建双向网络

R:如何将 rev() 应用于特定行

r - ggforce facet_zoom 如何仅注释缩放的图形

r - 删除功能使其停止在R中的元素

r - write.table() 中的无效规范

r - 使用 R 将多个文件融化并合并到一个数据库中

r - 如何在ggplot2中创建具有大量值的点图

html - 下一个/同级/后续 HTML 元素的 XPath?