收藏 分销(赏)

《R语言》课件 第7章 数据变换.pdf

上传人:曲**** 文档编号:231267 上传时间:2023-03-21 格式:PDF 页数:38 大小:1.02MB
下载 相关 举报
《R语言》课件 第7章 数据变换.pdf_第1页
第1页 / 共38页
《R语言》课件 第7章 数据变换.pdf_第2页
第2页 / 共38页
点击查看更多>>
资源描述
大数据应用人才培养系列教材第七章数据变换7.1数据清洗72数据选择713T集成习题7.1数据清洗第七章数据变换缺失值处理对于缺失数据通常有三种方法:方法1:当缺失数据较少时直接删除相应样本方法2:对缺失数据进行插补方法3:使用对缺失数据不敏感的分析方法,如决策树。7.1数据清洗第七章数据变换缺失值处理【例7.1】mice包使用 library(mice)imp=mice(sleepzseed=1234)fit=with(impzlm(DreamSpan+Gest)pooled=pool(fit)summary(pooled)se t df Pr(111)lo 95(Intercept)2.546199168 52.12563 l.O214O5e-13 2.035156222Span-0.004548904 0.012039106-0.377S44 51.94538 7.070861-01-0.028707741Gest-0.003916211 0.001468788-2.666287 55.5S6S3 1.002562e-O2-0.006859066hi 95 mris fmi lambda(Intercept)3.0572421151 NA O.O871O3O1 O.O5273554Span 0.0196099340 4 0.08860195 0.05417409Gest-O.OOO9733567 4 0.05442170 O.O2O98354n mis表示变量中缺失 数据的个数,fmi表示 由缺失数据贡献的变异。7.1数据清洗第七章数据变换数据去重数据重复检测函数包括unique、duplicatedounique对于一个向量管用,对于matrix、data frame那些就不管 用了。duplicated函数是一个可以用来解决向量或者数据框重复值的函数,它会返回一个TRUE和FALSE的向量,以标注该索引所对应的值是否 是前面数据所重复的值。以数据data.set为例,说明解决办法。Q)建立是否重复索引 index index1 FALSE TRUEFALSE TRUE TRUE TRUE TRUE TRUE TRUE FALSE data.set2 scale(dataz center=1scale二F)(2)数据的标准化 scale(data,center=1scale二T)(3)小数定标规范化移动变量的小数点位置来将变量映射到-L1 options(digits=4)#控朝输出结果的有效位数7.1数据清洗第七章数据变换重要变量选择方法1:Boruta包qsar.datacolnames(qsar.data)fs.datalibrary(Boruta)#载入Boruta包,好重要变量进行选择fs.data.extended print(fs.data.extended)#查看变量选择结果table(fs.data.extended$finalDecision)getConfirmedFormula(fs.data.extended)#查看接收的变量getNonRejectedFormula(fs.data.extended)#查看通过变量选 择被接收变量及可供选择的变量7.1数据清洗第七章数据变换重要变量选择(2)方法2:subselect包的genetic 函数qsar.datadim(qsar.data);colnames(qsar.data)library(subselect)qsar.dataHmat names(qsar.data/2/drop=FALSE)colnames(qsar.dataHmat)genetic(qsar.dataHmat$matz kmin=2,H=qsar.dataHmat$Hz r=l,crit=CCR12)7.1数据清洗第七章数据变换重要变量选择(3)方法3:subselect包的anneal 函数qsar.datalibrary(subselect)7.1数据清洗第七章数据变换数据集选择Q)训练数据集:用于建模;(2)验证数据集:用于模型评估,这一过程会导致模型调整,或参数 设置,一旦评估的模型满足期待的性能,就可以用于测试集;(3)测试数据集:是所谓的外样本集(不可见的观测数据),随机从 数据集中选取的观测数据,但在建模中不能使用,重要的是要确保 模型是无偏估计。7.1数据清洗第七章数据变换主成分分析PCA(Principal Component Analysis,主成分分析)的思想,就是是一种数据降维技巧,它能将大量相关变量转化为一组很少的 不相关变量,这些无关变量称为主成分。PCA的目标是用一组较少的不相关变量代替大量相关变量,同 时尽可能保留初始变量的信息,这些推导所得的变量称为主成分,它们是观测变量的线性组合。如第一主成分为:PCl=alXl=a2X2+.+akXk它是k个观测变量的加权组合,对初始变量集的方差解释性最大。第二主成分是初始变量的线性组合,对方差的解释性排第二,同时与第一主成分正交(不相关)。后面每一个主成分都最大化它 对方差的解释程度,同时与之前所有的主成分都正交,但从实用的 角度来看,都希望能用较少的主成分来近似全变量集。7.1数据清洗第七章数据变换主成分分析PCA中需要多少个主成分的准则:根据先验经验和理论知识判断主成分数;根据要解释变量方差的积累值的阈值来判断需要的主成分数;通过检查变量间k*k的相关系数矩阵来判断保留的主成分数。最常见的是基于特征值的方法,每个主成分都与相关系数矩阵 的特征值关联,第一主成分与最大的特征值相关联,第二主成分与 第二大的特征值相关联,依此类推。7.1数据清洗第七章数据变换主成分分析利用fa.parallel()函数,可同时对三种特征值判别准则进行评价。library(psych)fa.parallel(USJudgeRatings/-l/fa=pc,/n.iter=100,show.legend 二 FAllsE,main=碎石图)碎石图、特征值大于1准则和100次模拟的平行分析(虚线)都表明 保留一个主成分即可保留数据集的大部分信息7.1数据清洗第七章数据变换主成分分析O8 9 t z z 0 s i u uaESrodo三d-0 s a nroA Ud6_d碎石图Component Number7.1数据清洗第七章数据变换主成分分析principal()函数可根据原始数据矩阵或相关系数矩阵做主成分 分析格式为:principal(的,nfactors二,rotate二,scores二)其中:;臬相关系数矩阵或原始数据矩阵;nfactors设定主成分数(歌认为1);rot ate指定旋转的方式默认最大方差旋转(varimax)scores设定是否需要计算主成分得分(默认不需要)。library(psych)(pc-principal(USJudgeRatingsz-l,nfactors=l)7.1数据清洗第七章数据变换因子分析(1)因子分析特点因子分析(FA)是一系列用来发现一组变量的潜在结构的方 法,通过寻找一组更小 的、潜在的或隐藏的结构来解释已 观测到的、变量间的关系。具有以下特点:盲子的数量端少于原始变量个数,因此因子分析能够减少 分析中的工作量。因子变量不是对原始变量的取舍,而是根据原始变量的信 息进行重组,能反映原始变量的大部分信息。因子之间不存在线性相关关系。7.1数据清洗第七章数据变换因子分析(2)因子分析目标FA的目标是通过发掘隐藏在数据下的一组较少的、更为基 本的无法观测的变量,来解释一组可观测变量的相关性。这 些虚拟的、无法观测的变量称作因子。(每个因子被认为可 解释多个观测变量间共有的方差,也叫作公共因子)模型的形式为:Xi=a1F1+a2F2+.apFp+UjXj是第i个可观测变量(i=L2,k)目是公共因子(j,2,p)7.1数据清洗第七章数据变换因子分析(3)判断需提取的公共因子数options(digits=2)#环境变量设置,保留小数2位 covariances-ability.cov$cov#计算心理测量数据变量 ability的协方差矩阵correlations(x as.vector(x)1 1 2 3 47.3数据集成第七章数据变换通过向量化重构数据(x as.vector(x)1 123456787.3数据集成第七章数据变换通过向量化重构数据列表向量化可以用unlist,数据框本质是元素长度相同的列表,所以也用unlist。(x unlist(x)xl x2 x3 yl y2 y3 y4 y5 y612356789 10 x unlist(x)xl x2 x3 yl y2 y31 2 3 5 6 77.3数据集成 第七章数据变换为数据添加新变量transform 函数transform函数对数据框进行操作,作用是为原数据框增 加新的列变量,但应该注意的是原数据框根本不是原来的 那个数据框,而是一个它的拷贝。下面代码为airquality数据 框增力口了一歹og.ozone,但因为没有把结果赋值给原变量名,所以原数据是不变的。7.3数据集成第七章数据变换为数据添加新变量 head(airqualityz2)Ozone Solar.R Wind Temp Month Day1 41 190 7.4 67 5 12 36 118 8.0 72 5 2 aq head(airquality,2)Ozone Solar.R Wind Temp Month Day1 41 190 7.4 67 5 12 36 118 8.0 72 5 2 head(aqz2)Ozone Solar.R Wind Temp Month Day log.ozone1 41 190 7.4 67 5 1 3.7135722 36 118 8.0 72 5 2 3.5835197.3数据集成第七章数据变换 为数据添加新变量Transform也可以改变列变量的值,还可以通过NULL赋值的方式删除列 变量。aq head(aqz2)Solar.R Wind Temp Month Day log.ozone1 190 54.76 67 5 1 3.7135722 118 64.00 72 5 2 3.583519 aq head(aq,2)Solar.R Wind Temp Day log.ozone1 190 54.76 67 1 3.7135722 118 64.00 72 2 3.5835197.3数据集成第七章数据变换数据透视表reshape2包含melt和dcast函数。melt是溶解/分解的意思。dcast函数使用公式参数,公式的左边每个变量都会作为结果中的一 列,而右边的变量被当成因子类型,每个水平都会在结果中产生一列。喀 dMA 1IDTinvexlX2l.il.i5,6.1l.i2i5i2il.-i6il.i2i2i2i4.i3MTime)IDvariabletimeltirre2l.ixl5i3il.ix2.i6.i5.i2.ixl.Z.ix2.il.i4.iID,xlX2l.i4i5.5,4i2.5.iTimexlX2l.i5.5,3.5,Z.i2.5.i4.5.iIDTime!TimeZl.i5.5,2.i3.5.iIDTinvevariablevaluel.il.iXi.i5.i,1,2.iXX.i3.i2.il.iXX.i6i2.i2.iX1.12 cl.iLtX2,6i,2.iX2.i5,2iX.iX2.iX.iZ.i2.iXZ.i4.iIDTimexlX2X.iX.i5.i6il.i2i3.i5.i2il.i6.il.i2i2.i4.i匕新氏 mblLTiniw)IDxlTinvelX2TimelxlTime!X2TimeZl.i5i3.i5i2.i2.il.i4.i7.3数据集成第七章数据变换数据透视表 datax melt(datax)Vari Var2 Var3 valuemelt获得的数据可以用acast或dcast还原。acast获得数组,dcast获得数据框。7.3数据集成第七章数据变换列联表Table不仅可以统计数字出现的频率,还可以统计其他可以被看作因 子的数据类型。c a b table(azb)ba ABCaO31b301C1127.3数据集成第七章数据变换分组汇总mapply函数mappy(FUN,,MoreArgs=NULL,SIMPLIFY=TRUE,USE.NAMES=TRUE)m叩ply应用的数据类型为向量或列表,FUN函数对每个数据元素应用 FUN函数;如果参数长度为1,得到的结果和sapply是一样的;但如果 参数长度不是1,FUN函数将按向量顺序和循环规则(短向量重复)逐个 取参数应用到对应数据元素。sapply(X=l:4z FUN二rep,times=4)LI L2,3,41,12 3 42,12 3 43,12 3 44,12 3 47.3数据集成第七章数据变换分组汇总(2)aggregate 函数这个函数的功能比较强大,它首先将数据进行分组(按行),然后 对每组数据进行函数统计,最后把结果组合成一个比较nice的表格返回。根据数据对象不同,aggregate函数有三种用法,分别应用于数据框(data.frame)、公式(formula)和时间序列(ts)o aggregate(x,by,FUN,,simplify=TRUE)aggregate(formula,data,FUN,,subset,nana.action=na.omit)aggregate(x,nfrequency=1,FUN=sum,ndeltat=1,ts.eps=g etOption(ts.eps)z.)大数据应用人才培养系列教材第七章数据变换洗7.2 数据选择7.3 数据集成习题习题:1.矩阵和多维数组的向量化有直接的类型转换函数:as.vector,向量化后 的结果顺序是_OA行优先 B.列优先C行首尾相连D.列首尾相连2.在数据分析体系中,ETL功能不包括_。A对错误的源数据进行清洗 B进行数据挖掘C对数据格式进行必须的转换 D读取源数据3.数据集L 2,3,6,3经过中间化的结果是_。A.-2,-L0,3,0 L4,l C.-3r2z-lz2z-l D.l,2,3,6,34.数据集L 2,3,6,3经过数据的标准化后的结果是_o5.R函数的参数传递方式是_变量不可能原地址修改后再放回原地址。6.数据聚集函数包括:_ _ _o7.aggregate函数的作用,根据数据对象不同它的用法有?8.数据通常的应付手段有哪三种?感谢聆听
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服