table()和xtabs()都可以基于三个或更多的类别型变量生成多维列联表。margin.table()、

prop.table()和addmargins()函数可以自然地推广到高于二维的情况。另外,ftable()函

数可以以一种紧凑而吸引人的方式输出多维列联表

> mytable<-xtabs(~ Treatment+Sex+Improved,data=Arthritis)

> ftable(mytable)

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] 84

> margin.table(mytable,1)

Treatment

Placebo Treated

43 41

> margin.table(mytable,2)

Sex

Female Male

59 25

> margin.table(mytable,3)

Improved

None Some Marked

42 14 28

> margin.table(mytable,c(1,3))

Improved

Treatment None Some Marked

Placebo 29 7 7

Treated 13 7 21



---

> prop.table(mytable)

> ftable(addmargins(prop.table(mytable,c(1,2)),3))

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