R语言学习系列24频率表和列联表.docx

上传人:b****1 文档编号:17372227 上传时间:2023-04-24 格式:DOCX 页数:11 大小:145.98KB
下载 相关 举报
R语言学习系列24频率表和列联表.docx_第1页
第1页 / 共11页
R语言学习系列24频率表和列联表.docx_第2页
第2页 / 共11页
R语言学习系列24频率表和列联表.docx_第3页
第3页 / 共11页
R语言学习系列24频率表和列联表.docx_第4页
第4页 / 共11页
R语言学习系列24频率表和列联表.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

R语言学习系列24频率表和列联表.docx

《R语言学习系列24频率表和列联表.docx》由会员分享,可在线阅读,更多相关《R语言学习系列24频率表和列联表.docx(11页珍藏版)》请在冰豆网上搜索。

R语言学习系列24频率表和列联表.docx

R语言学习系列24频率表和列联表

22.频率表和列联表

分类变量包括无序分类变量、有序分类变量。

对于分类变量的描述统计,主要是对分类变量各水平值分别进行频数和比例计算,再进步计算所需的一些相对频数指标。

一、一维列联表

1.频数统计

分类变量的分析,首先要了解:

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

累积频数、累积百分比。

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

table(var1,var2,…,varN)

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

50.0000016.6666733.33333

2.集中/离散趋势

观察原始频数,或者使用众数。

对于分类变量,集中/离散趋势

是一体的。

3.相对频数指标

(1)比(Riatio)

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

(2)构成比

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

(3)率(Rate)

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

二、二维列联表

1.rxc二维列联表:

(1)共n个样本;

(2)按两种属性AB,属性A有r个水平值:

A,…,Ar;属性B有c个水平值:

B,…,Bc.属性A=A,属性B=B的样本数为nj.

(3)ni.=“属性A=A”的合计数,m二“属性B=B”的合计

二堆的"丰朝联農

■■■

11

舍讣

g

・・・

nla

眄■

»

Art

-*■

%

舍计

i

nJ

・・・

n

fl

注:

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

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

table(A,B)

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

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

xtabs(~A+B,data二mydata)

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

注:

table函数默认忽略NA值,若要将NA直作为一个类别,需要使用参数useNA二"ifany"

mytable<-xtabs(~Treatment+lmproved,data=Arthritis)#生成治疗

方法与疗效的二维列联表(频数)

mytable

Improved

TreatmentNoneSomeMarked

Placebo2977

Treated13721

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

Improved

TreatmentNoneSomeMarked

Placebo0.345238100.083333330.08333333

Treated0.154761900.083333330.25000000

margin.table(mytable,1)#对第1个变量(行变量)生成边际频数

Treatment

PlaceboTreated

4341

prop.table(mytable,1)#对第1个变量(行变量)生成边际比例(每行和

=1)

Improved

TreatmentNoneSomeMarked

Placebo0.67441860.16279070.1627907

Treated0.31707320.17073170.5121951

#可见与安慰剂组相比,治疗组的治愈率从16%!

高到51%

margin.table(mytable,2)#对第2个变量(列变量)生成边际频数

Improved

NoneSomeMarked

421428

prop.table(mytable,2)#对第2个变量(列变量)生成边际比例(每列

和=1)

Improved

TreatmentNoneSomeMarked

Placebo0.69047620.50000000.2500000

Treated0.30952380.50000000.7500000

addmargins(mytable)#将边际求和结果添加到表格(频数)

Improved

TreatmentNoneSomeMarkedSum

Placebo297743

Treated1372141

Sum42142884

addmargins(prop.table(mytable))#将边际求和结果添加到表格(比例)

Improved

TreatmentNoneSomeMarkedSum

Placebo0.345238100.083333330.083333330.51190476

Treated0.154761900.083333330.250000000.48809524

Sum0.500000000.166666670.333333331.00000000

addmargins(prop.table(mytable,1),2)#只添加列边际

Improved

TreatmentNoneSomeMarkedSum

Placebo0.67441860.16279070.16279071.0000000

Treated0.31707320.17073170.51219511.0000000

addmargins(prop.table(mytable,2),1)#只添加行边际

Improved

TreatmentNoneSomeMarked

Placebo0.69047620.50000000.2500000

Treated0.30952380.50000000.7500000

Sum1.00000001.00000001.0000000

2.gmodels包中的函数CrossTable()

该函数仿照SAS中PROCFRE或SPSS中CROSSTABS形式生成

二维列联表。

它有很多选项,可以做许多事情:

计算(行、列、单元格)的百分比;指定小数位数;进行卡方、Fisher和McNemar独立性检验;计算期望和(皮尔逊、标准化、调整的标准化)残差;将缺失值作为一种有效值;进行行和列标题的标注;生成SAS或SPSS风

格的输出。

library(gmodels)

CrossTable(Arthritis$Treatment,Arthritis$lmproved)

t#11Cciwrrt?

]■■■■■■■■■■■■IM■OB■■|

N|Ichi-squarecontributionI

N/RowTot-al|N/ColTotalIN/Tableratal|

TotalObser.ations-fnTable:

E4

|Arthr111sjln^jroved

ArthritisSTreatm^rit|None|Sofnt

三、多维列联表

table()和xtabs()都可以基于三个或更多的分类变量(因子)生成多维列联表。

margin.table()、prop.table()禾口addmargins()函数也可类似推广到

多维。

另外,ftable()函数可以用一种紧凑的“平铺式”输出多维列联表。

mytable<-xtabs(~Treatment+Sex+lmproved,data=Arthritis)

mytable

,Improved=None

Sex

TreatmentFemaleMale

Placebo1910

Treated67

,Improved=Some

Sex

TreatmentFemaleMale

Placebo70

Treated52

,Improved=Marked

Sex

TreatmentFemaleMale

 

Placebo61

Treated165

ftable(mytable)

ImprovedNoneSomeMarked

TreatmentSex

PlaceboFemale

197

6

Male

10

01

TreatedFemale

65

16

Male

7

25

margin.table(mytable,1)

#边际频数

Treatment

PlaceboTreated

4341

margin.table(mytable,2)

Sex

FemaleMale

5925

margin.table(mytable,3)

Improved

NoneSomeMarked

421428

margin.table(mytable,c(1,3))

#相当于1:

治疗方法x3:

疗效的二维列联表

Improved

TreatmentNoneSomeMarked

Placebo2977

Treated13721

ftable(prop.table(mytable,c(1,2)))#紧凑形式显示

Improved

1:

治疗方法X2:

性别的各类疗效情况(比例)

NoneSomeMarked

TreatmentSex

PlaceboFemale

0.593750000.218750000.18750000

Male

0.909090910.000000000.09090909

TreatedFemale

0.222222220.185185190.59259259

Male

0.500000000.142857140.35714286

ftable(addmargins(prop.table(mytable,c(1,2)),3))

#继续给第3变量添加边际

ImprovedNoneSomeMarkedSum

TreatmentSex

PlaceboFemale

0.593750000.218750000.187500001.00000000

Male

0.909090910.000000000.090909091.00000000

TreatedFemale

0.222222220.185185190.592592591.00000000

Male

0.500000000.142857140.357142861.00000000

ftable(addmargins(prop.table(mytable,c(1,2)),3))*100

 

#继续改成百分比

Improved

TreatmentSex

NoneSomeMarkedSum

PlaceboFemale

59.37500021.87500018.750000100.000000

Male

90.9090910.0000009.090909100.000000

TreatedFemale

22.22222218.51851959.259259100.000000

Male

50.00000014.28571435.714286100.000000

2.多维列联表的图形展示一一马赛克图

单个分类变量,可以使用柱状图或者饼图;若存在两个分类变量,可以使用三维柱状图;两个以上的分类变量可以使用马赛克图。

马赛克图中,嵌套矩形面积正比于单元格频率,其中该频率即多维列联表中的频率。

颜色和/或阴影可表示拟合模型的残差值。

使用mosaic()函数,基本格式为:

mosaic(table)

其中,table为数组形式的列联表;或者用

mosaic(formula,data=)

其中,formula为形如~var1+var2+…的公式,data为数据框或表格;

可选项shade二TRUE各根据拟合模型的皮尔逊残差值对图形上色;legend二TRUE将展示残差的图例。

library(vcd)

ftable(Titanic)

SurvivedNoYes

ClassSexAge

1stMaleChild05

Adult11857

FemaleChild01

Adult4140

2ndMaleChild011

Adult15414

FemaleChild013

Adult1380

3rdMaleChild3513

Adult38775

FemaleChild1714

Adult8976

CrewMaleChild00

Adult670192

FemaleChild00

Adult320

mosaic(Titanic,shade=TRUE,legend=TRUE)mosaic(~Class+Sex+Age+Survived,data=Titanic,shade=TRUE,legend=TRUE)

#上面两种代码效果相同

上图为按船舱等级、乘客性别和年龄层绘制的泰坦尼克号幸存者的马赛克图。

可以看出:

(1)从船员到头等舱,存活率陡然提高;

(2)大部分孩子都处在三等舱和二等舱中;

(3)在头等舱中的大部分女性都存活了下来,而三等舱中仅有一

半女性存活;

(4)船员中女性很少,导致该组的Survived标签重叠(图底部的No和Yes)

扩展的马赛克图添加了颜色和阴影来表示拟合模型的残差值:

蓝色阴影表明,在假定生存率与船舱等级、性别和年龄层无关的条件下,该类别下的生存率通常超过预期值。

红色阴影则含义相反。

图形表明,在模型的独立条件下,头等舱女性存活数和男性船员死亡数超过模型预期值。

如果存活数与船舱等级、性别和年龄层独立,三等舱男性的存活数比模型预期值低。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1