- table()生成多维列表
> 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
- ftable()
生成一种紧凑而吸引人的方式输出多维列联表
> 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