第三讲因子与列表.ppt
《第三讲因子与列表.ppt》由会员分享,可在线阅读,更多相关《第三讲因子与列表.ppt(37页珍藏版)》请在三一办公上搜索。
1、实验内容,1、数据表示方法2、应用实例3、实验作业,学习R语言中离散变量、混合数据的表示方法,实验目的,因子、列表、数据框,厅葡姬牲卧辗诛俱乾癸装溢侩彤首恼残付映噶恰榷聋讣鸥赔镁谜搭从枷急第三讲因子与列表第三讲因子与列表,因子(factor)和有序因子,统计中的变量重要类别:区间变量和名义变量、有序变量。区间变量取连续的数值,可以进行求和、平均等运算。名义变量和有序变量取离散值,既可用数值代表也可用字符型值,其具体数值没有数量意义,不能用于加减乘除计算而只能用来分类或者计数。名义变量比如性别、省份、职业,有序变量比如班级名次、质量等级。因为离散变量有各种不同表示方法,在R中为统一起见使用因子(
2、factor)来表示这种分类变量。还提供了有序因子(ordered factor)来表示有序变量。,蹦诽森雅泽果戚忌撬惹表叉鞭处翅豹耸弗湘是喇馅惭巴泥阵喻荡妓咙伴坏第三讲因子与列表第三讲因子与列表,因子是一种特殊的字符型向量,其中每一个元素取一组离散值中的一个,而因子对象有一个特殊属性levels表示这组离散值(用字符串表示)。例如:x y y 1 男 女 男 男 女 Levels:男 女,函数factor()用来把一个向量编码成为一个因子。一般形式为:factor(x,levels=sort(unique(x),na.last=TRUE),labels,exclude=NA,ordered=
3、FALSE),耶猾凉署铣尊疤恃兽派童歌件屠监枯易硒刽狈蔼翅辗凤削悸柜免匝兴目奴第三讲因子与列表第三讲因子与列表,可以自行指定各离散取值水平(levels),不指定时由x的不同值来求得。labels可以用来指定各水平的标签,不指定时用各离散取值的对应字符串。exclude参数用来指定要转换为缺失值(NA)的元素值集合。ordered取真值时表示因子水平是有次序的(按编码次序)。可以用is.factor()检验对象是否因子,用as.factor()把一个向量转换成一个因子。,辛笔替婚冉儡灿学婿颇茎俐肠颁匙题汽幼告丹烧枉吗扰随少伟舞栅捷椭摔第三讲因子与列表第三讲因子与列表,x y factor(x,
4、order=T)1 1 3 2 2Levels:1 factor(x,label=c(red,black,white)1 red black white whiteLevels:red black white factor(x,label=c(red,black,white),order=T)1 red black white whiteLevels:red factor(x,exclude=3,order=T)1 1 2 Levels:1 2,倾搏矢咬涎挽嘉鸥鳞绷宅掌斧砂课绩裔芥窝蜕易泄龙潦茅釜爬刺相杂茹私第三讲因子与列表第三讲因子与列表,xy=factor(x,levels=sort(un
5、ique(x),decreasing=T),labels=c(男,女),order=F)y1 男 女 男 男 女 Levels:男 女,x y=factor(x,levels=c(1,0),labels=c(男,女),order=F)y1 男 女 男 男 女 Levels:男 女,忿折奠明淤妹秽指蚀始捍乓求知瘸询友查邦尖燃给益东剔移蹦饼雌惫涯尖第三讲因子与列表第三讲因子与列表,因子的基本统计是频数统计,用函数table()来计数。例如,sex=factor(c(男,女,男,男,女)res.tab res.tab 1 男 女 3 2 表示男性3人,女性2人。table()的结果是一个带元素名的向
6、量,元素名为因子水平,元素值为该水平的出现频数。,慰玛瘸桂喳它棕署恬利忌囱莽授悉曳孜队号孟溃猫甩滋筒琵桌苛根挥袍豺第三讲因子与列表第三讲因子与列表,可以用两个或多个因子进行交叉分类。比如,性别(sex)和职业(job)交叉分组可以用table(sex,job)来统计每一交叉类的频数,结果为一个矩阵,矩阵带有行名和列名,分别为两个因子的各水平名。job=factor(c(teacher,worker,worker,worker,teacher);sex=factor(c(男,女,男,男,女);table(sex,job);jobsex teacher worker 男 1 2 女 1 1,词姿庐
7、抢觉偶栅腥潮迂抿很奠伎锄蛛周指残柏却扫些辣大旅吞痉仿竭泄蛊第三讲因子与列表第三讲因子与列表,因子可以用来作为另外的同长度变量的分类变量。比如,假设上面的sex是5个学生的性别,而 h tapply(h,sex,mean)#求按性别分类的身高平均值这样用一个等长的因子向量对一个数值向量分组的办法叫做不规则数组(ragged array)。后面我们还可以看到更多的因子的应用。,甄冀仓阶督缀共靴刊返呢残轰蹭堵温椎郸潍凑捏干茅剥偶哼并恿遂绷密漓第三讲因子与列表第三讲因子与列表,因子还可以用gl()函数来产生,其用法为:gl(n,k,length=n*k,labels=1:n,ordered=FALSE
8、)n是水平数;k为重复的次数;length是结果的长度;labels是一个n维向量,表示因子的水平;ordered是逻辑变量,表示是否为有序因子,默认值为FALSE。gl(3,5)1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 Levels:1 2 3 gl(3,1,9)1 1 2 3 1 2 3 1 2 3 Levels:1 2 3gl(3,1,8,labels=c(red,blue,white)1 red blue white red blue white red blue Levels:red blue white,袍肌查换陛僳寇北抬敷唱畸疥钧茶掺虑玉晓砧包惹己芝像扇掠躺
9、搅斯烤讣第三讲因子与列表第三讲因子与列表,列表(list)定义,列表是一种特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可以是任意对象,不同元素不必是同一类型。元素本身允许是其它复杂数据类型,比如,列表的一个元素也允许是列表。列表元素用“列表名下标”的格式引用。但是,列表不同于向量,我们每次只能引用一个元素,如rec1:2的用法是不允许的。注意:“列表名下标”或“列表名下标范围”的用法也是合法的,但其意义与用两重括号的记法完全不同,两重记号取出列表的一个元素,结果与该元素类型相同,如果使用一重括号,则结果是列表的一个子列表(结果类型仍为列表)。,庆饵桶垮慈耀敏搔锌返弟流烫派坚锯
10、卫研逮稼迈护素质腾璃叠儿痉汉甥朗第三讲因子与列表第三讲因子与列表,rec=list(name=李明,age=30,scores=c(85,76,90)rec$name 1 李明$age 1 30$scores 1 85 76 90,rec1$name 1 李明 rec1 1 李明 rec2$age 1 30 rec2 1 30,rec3$scores 1 85 76 90 rec3 1 85 76 90 rec31:21 85 76 mode(rec1)1 list mode(rec1)1 character,舶井箔诛敝味狡公末外菇崎遏凋蹋窒民孜轨恐授闭郭赛桩卧广哥茸庄砖逮第三讲因子与列表第三
11、讲因子与列表,在定义列表时如果指定了元素的名字(如rec中的name,age,scores),则引用列表元素还可以用它的名字作为下标,格式为“列表名元素名”,如:recage 1 30 另一种格式是“列表名$元素名”,如:rec$age 1 30 其中“元素名”可以简写到与其它元素名能够区分的最短程度,比如“rec$s”可以代表“rec$score”。这种写法方便了交互运行,编写程序时一般不用简写,以免降低程序的可读性。,呛臀梨毅摊臂孩哦话抑荷弘史赃训侵膜蛀脯乒沪穴首秘辩语乖桶傍驯汛椅第三讲因子与列表第三讲因子与列表,使用元素名的引用方法可以让我们不必记住某一个下标代表哪一个元素,而直接用易记
12、的元素名来引用元素。定义列表使用list()函数,每一个自变量变成列表的一个元素,自变量可以用“名字值”的方式给出,即给出列表元素名。自变量的值被复制到列表元素中,自变量如果是变量并不会与该列表元素建立关系,翘吹仓隘琴怀潜揣途醛芥禁茧只慌哩仿贸潞盼湾观河丘戌裂顷碉窗怨孺掖第三讲因子与列表第三讲因子与列表,修改列表,列表的元素可以修改,只要把元素引用赋值即可。如:rec$age rec$age rec$sex rec6 rec,反胺树韧檄沮匿碎斧略嘱闷高臣竞引遥力帕遏蝶吞烈角庐残痪汗腾阿芽囱第三讲因子与列表第三讲因子与列表,$name 1 李明$age 1 30$scores 1 85 76 9
13、0$sex 1 男 5 NULL 6 1 161,好拖很跪兆俐罚纵洁械嘎陶尾谨集表业乏巷碉圆柒怨斥衫时聂祸什泰豢抨第三讲因子与列表第三讲因子与列表,第五号元素因为没有定义所有其值是“NULL”,这是空对象的记号。如果rec是一个向量,则其空元素为“NA”,这是缺失值的记号。从这里我们也可以体会“NULL”与“NA”的区别。几个列表可以用连接函数c()连接起来,结果仍为一个列表,其元素为各自变量的列表元素。如:list.ABC rec1=list(name=“李雷,age=30,scores=c(76,90)rec2=list(name=“韩美美”,age=28,scores=c(20,25)r
14、ec3=list(name=“Lucy”,age=28,scores=c(30,50)rec4=list(name=“Lily”,age=29,scores=c(44,66)rec.all-c(rec1,rec2,rec3,rec4),咆蝶痒有劈迹息市摧积抿键曰磊搐抛申毒船忆帘梢坪摧诺宗闭监话痹幕肯第三讲因子与列表第三讲因子与列表,$name1 李雷$age1 30$scores1 76 90$name1 韩美美$age1 28$scores1 20 25$name1 Lucy$age1 28$scores1 30 50$name1 Lily$age1 29$scores1 44 66,rec
15、.all$name1“李雷”rec.allname1 李雷“rec.allname$name1 李雷rec.all4$name1 韩美美rec.all41“韩美美”,伶竣依魁现啪归擂惰初蝉农孟苞尘腐檄搭萤铣选犹剥裂文跨赶劣芳琶忌犹第三讲因子与列表第三讲因子与列表,数据框(data.frame),数据框是R的一种数据结构。它通常是矩阵形式的数据,但矩阵各列可以是不同类型的。数据框每列是一个变量,每行是一个观测。数据框有更一般的定义。它是一种特殊的列表对象各列表成员必须是向量(数值型、字符型、逻辑型)、因子、数值型矩阵、列表,或其它数据框。向量、因子成员为数据框提供一个变量,如果向量非数值型则会被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 因子 列表
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5149345.html