我想知道是否有人可以提供帮助?我创建了一个列联表,并使用以下内容添加了边距:
addmargins(sn.tab)
我想知道如何将边距格式化为百分比而不是每列的总和。
答案 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