R边际格式

时间:2018-03-21 00:15:27

标签: r margins contingency

我想知道是否有人可以提供帮助?我创建了一个列联表,并使用以下内容添加了边距:

addmargins(sn.tab)

我想知道如何将边距格式化为百分比而不是每列的总和。

1 个答案:

答案 0 :(得分:0)

假设您的意思是总数的百分比,您可以在FUN中明确指定addmargins参数:

# Sample data
tab <- matrix(c(10, 90, 40, 60), ncol = 2, byrow = T);

addmargins(tab, FUN = function(x) sum(x) / sum(tab));
#Margins computed over dimensions
#in the following order:
#1:
#2:
#                                        function(x) sum(x)/sum(tab)
#                            10.00 90.00                       0.500
#                            40.00 60.00                       0.500
#function(x) sum(x)/sum(tab)  0.25  0.75                       0.005

或者,如果您只想要每列总数的百分比:

addmargins(tab, FUN = list(perc.total = function(x) sum(x) / sum(tab), sum));
#Margins computed over dimensions
#in the following order:
#1:
#2:
#                       sum
#           10.00 90.00 100
#           40.00 60.00 100
#perc.total  0.25  0.75   1