|
单个因子会把各部分数据分成不同的组。类似的是,一对因子可以实现交叉分组
等。函数table() 可以从等长的不同因子中计算出频率表。如果有k 个因子参数,那
么结果将是一个k-维的频率分布数组。
假定statef 是一个设定数据向量元素个体所在州的因子,那么下面的赋值
> statefr <- table(statef)
将会把一个样本中各种状态的频率分布表赋给statefr。这些频率会被排序且以因子
的水平特性标记。等价但有点烦琐实现方式如下
> statefr <- tapply(statef, statef, length)
进一步假设incomef 是一个按适当定义的\收入阶层"对数据向量元素进行分类的
因子。它可以用函数cut() 定义:
> factor(cut(incomes, breaks = 35+10*(0:7))) -> incomef
然后计算频率的二维表:
> table(incomef,statef)
statef
incomef act nsw nt qld sa tas vic wa
(35,45] 1 1 0 1 0 0 1 0
(45,55] 1 1 1 1 2 0 1 3
(55,65] 0 3 1 3 2 2 2 1
(65,75] 0 1 0 0 0 0 1 0
同样的方法也可以得到高维的频率分布表。
|
|