按照分类变量来计算频数,有时不能满足需要,例如,按照年龄段来计算频数,每10年为一个年纪段,统计各个年龄段的人数。由于Arthritis数据集中并没有该分类变量,这就需要自定义区间,按照分组的间隔来制作频数分布表。
Step1: 求极差
library(vcd) #load the package containing Arthritis data
age_range <- max(Arthritis$Age)-min(Arthritis$Age)
#最大值是74,最小值是23,极差是51
Step2:决定bin
把组距定为10,那么组数是6(不小于 51/10 的最小整数)
breakspoints <- seq(0,100,20)
labels <- as.character(seq(0,100,20)[-1) #bin = length(breakpoints - 1); labels = bins
Step3:cut data to create frequency table
使用cut()函数来分割Age数据,设置断点向量breaks,以及每个区间的名称lables
table(cut(Arthritis$Age,breaks = breaks,labels=labels))