R语言学习系列24-频率表和列联表 下载本文

内容发布更新时间 : 2024/9/30 16:16:05星期一 下面是文章的全部内容请认真阅读。

22. 频率表和列联表

分类变量包括无序分类变量、有序分类变量。对于分类变量的描述统计,主要是对分类变量各水平值分别进行频数和比例计算,再进步计算所需的一些相对频数指标。 一、一维列联表

1. 频数统计

分类变量的分析,首先要了解:各类别的样本数(频数),以及占总样本量的百分比;对有序分类变量,还需要了解:累积频数、累积百分比。

使用table()函数生成简单的频数统计表,基本格式为:

table(var1, var2, …, varN)

将N个分类变量(因子)创建一个N维列联表。

library(vcd) #使用数据集Arthritis head(Arthritis,3)

ID Treatment Sex Age Improved 1 57 Treated Male 27 Some 2 46 Treated Male 29 None 3 77 Treated Male 30 None

mytable<-table(Arthritis$Improved)#统计频数 mytable

None Some Marked 42 14 28

prop.table(mytable) #将频数转化为比例值 None Some Marked 0.5000000 0.1666667 0.3333333

prop.table(mytable)*100 #将频数转化为百分比 None Some Marked

50.00000 16.66667 33.33333

2. 集中/离散趋势

观察原始频数,或者使用众数。对于分类变量,集中/离散趋势是一体的。

3. 相对频数指标 (1)比(Riatio)

两个有关指标之比A/B, 用来反映相对的大小关系,例如,月销售额/销售人数;

(2)构成比

用于描述事物内部各构成部分所占的比重,例如,百分比、累积百分比;

(3)率(Rate)

率是具有时间概念或速度、强度意义的指标,表示某个时期内某事件发生的频率或强度,例如速率、频率、费率、发病率等。

二、二维列联表

1. r×c二维列联表: (1)共n个样本;

(2)按两种属性A、B,属性A有r个水平值:A1, …,Ar; 属性B有c个水平值:B1, …, Bc. 属性A=Ai,属性B=Bj的样本数为nij.

(3)ni. = “属性A=Ai”的合计数,n.j = “属性B=Bj”的合计

数。

注:多分类变量对应高维列联表。

生成二维列联表使用函数table(),基本格式为:

table(A,B)

其中,A为行变量,B为列变量。

或者使用函数xtabs(),基本格式为:

xtabs(~A+B, data=mydata)

其中,mydata为矩阵或数据框;要进行交叉分类的变量放在~右侧,以+作为分隔符,若某个变量写在~左侧,则为频数向量,常用于数据已经被表格化时。

注:table函数默认忽略NA值,若要将NA值作为一个类别,需要使用参数useNA=\

mytable<- xtabs(~ Treatment+Improved, data=Arthritis)#生成治疗方法与疗效的二维列联表(频数)

mytable

Improved

Treatment None Some Marked Placebo 29 7 7 Treated 13 7 21

prop.table(mytable)#各单元格占的比例(所有行列总和=1) Improved