> mytable <- xtabs(~ Treatment+Sex+Improved, data=Arthritis) > mytable , , Improved = None Sex Treatment Female Male Placebo 19 10 Treated 6 7 , , Improved = Some Sex Treatment Female Male Placebo 7 0 Treated 5 2 , , Improved = Marked Sex Treatment Female Male Placebo 6 1 Treated 16 5
生成一种紧凑而吸引人的方式输出多维列联表code
> ftable(mytable) #将mytable做为参数传入fatable() Improved None Some Marked Treatment Sex Placebo Female 19 7 6 Male 10 0 1 Treated Female 6 5 16 Male 7 2 5
> margin.table(mytable, 1) #计算第一个变量 Treatment的边际频数(即求个数和) Treatment Placebo Treated 43 41 > margin.table(mytable, 2) Sex Female Male 59 25 > margin.table(mytable, 2) Sex Female Male 59 25 > margin.table(mytable, c(1,3)) # 计算Treatment*Improved分组的边际频数 Improved Treatment None Some Marked Placebo 29 7 7 Treated 13 7 21 > ftable(prop.table(mytable, c(1,2))) #计算Treatment*Sex组合中改善状况为None,Some和Marked的比例 Improved None Some Marked Treatment Sex Placebo Female 0.59375000 0.21875000 0.18750000 Male 0.90909091 0.00000000 0.09090909 Treated Female 0.22222222 0.18518519 0.59259259 Male 0.50000000 0.14285714 0.35714286 > ftable(addmargins(prop.table(mytable, c(1, 2)), 3)) #乘以100,获得百分比而不是比例 Improved None Some Marked Sum Treatment Sex Placebo Female 0.59375000 0.21875000 0.18750000 1.00000000 Male 0.90909091 0.00000000 0.09090909 1.00000000 Treated Female 0.22222222 0.18518519 0.59259259 1.00000000 Male 0.50000000 0.14285714 0.35714286 1.00000000