R语言学习系列2频率表和列联表
实用标准文档 22.22. 频率表和列联表频率表和列联表 分类变量包括无序分类变量、 有序分类变量。对于分类变量的描 述统计,主要是对分类变量各水平值分别进行频数和比例计算, 再进 步计算所需的一些相对频数指标。 一、一维列联表一、一维列联表 1.1. 频数统计频数统计 分类变量的分析,首先要了解:各类别的样本数(频数)各类别的样本数(频数),以及以及 占总样本量的百分比占总样本量的百分比;对有序分类变量,还需要了解: 累积频数累积频数、累累 积百分比积百分比。 使用 table()函数生成简单的频数统计表,基本格式为: table(var1, var2, …, varN) 将 N 个分类变量(因子)创建一个 N 维列联表。 library(vcd) # #使用数据集使用数据集 ArthritisArthritis head(Arthritis,3) ID TreatmentSex Age Improved 1 57Treated Male27Some 2 46Treated Male29None 3 77Treated Male30None mytable-table(Arthritis$Improved) # #统计频数统计频数 mytable 文案大全 实用标准文档 NoneSome Marked 421428 prop.table(mytable) # #将频数转化为比例值将频数转化为比例值 NoneSomeMarked 0.5000000 0.1666667 0.3333333 prop.table(mytable)*100 # #将频数转化为百分比将频数转化为百分比 NoneSomeMarked 50.00000 16.66667 33.33333 2.2. 集中集中/ /离散趋势离散趋势 观察原始频数,或者使用众数。对于分类变量,集中/离散趋势 是一体的。 3.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=“ifany“ mytable - xtabs(~ Treatment+Improved, data=Arthritis) # #生成生成 治疗方法与疗效的二维列联表(频数)治疗方法与疗效的二维列联表(频数) mytable Improved Treatment None Some Marked Placebo2977 Treated13721 prop.table(mytable) # #各单元格占的比例(所有行列总和各单元格占的比例(所有行列总和=1=1)) Improved TreatmentNoneSomeMarked Placebo 0.34523810 0.08333333 0.08333333 Treated 0.15476190 0.08333333 0.25000000 margin.table(mytable,1) # #对第对第 1 1 个变量(行变量)生成边际频数个变量(行变量)生成边际频数 Treatment Placebo Treated 4341 prop.table(mytable,1) # #对第对第 1 1 个变量(行变量)生成边际比例(每行和个变量(行变量)生成边际比例(每行和 =1=1)) Improved TreatmentNoneSomeMarked 文案大全 实用标准文档 Placebo 0.6744186 0.1627907 0.1627907 Treated 0.3170732 0.1707317 0.5121951 # #可见与安慰剂组相比,治疗组的治愈率从可见与安慰剂组相比,治疗组的治愈率从 16%16%提高到提高到 51%51% margin.table(mytable,2) # #对第对第 2 2 个变量(列变量)生成边际频数个变量(列变量)生成边际频数 Improved NoneSome Marked 421428 prop.table(mytable, 2) # #对第对第 2 2 个变量(列变量)生成边际比例(每列个变量(列变量)生成边际比例(每列 和和=1=1)) Improved TreatmentNoneSomeMarked Placebo 0.6904762 0.5000000 0.2500000 Treated 0.3095238 0.5000000 0.7500000 addmargins(mytable) # #将边际求和结果添加到表格(频数)将边际求和结果添加到表格(频数) Improved Treatment None Some Marked Sum Placebo297743 Treated1372141 Sum42142884 addmargins(prop.table(mytable)) # #将边际求和结果添加到表格将边际求和结果添加到表格 (比例)(比例) Improved TreatmentNoneSomeMarkedSum 文案大全 实用标准文档 Placebo 0.34523810 0.08333333 0.08333333 0.51190476 Treated 0.15476190 0.08333333 0.25000000 0.48809524 Sum0.50000000 0.16666667 0.33333333 1.00000000 addmargins(prop.table(mytable, 1), 2) # #只添加列边际只添加列边际 Improved TreatmentNoneSomeMarkedSum Placebo 0.6744186 0.1627907 0.1627907 1.0000000 Treated 0.3170732 0.1707317 0.5121951 1.00000