您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 02_R语言基础_数据框
../njau..........................................................................................................R语言入门(B)Slide1/51R语言入门(B)RforBeginners-II胡高博士植保学院昆虫信息生态研究室hp://eco.njau.edu.cnMay14,2013../njau..........................................................................................................R语言入门(B)Slide2/51R语言入门(B)1数据框及其基本操作数据框创建数据框基本操作attach()&detach()数据排序sqldf包2数据的导入与导出read.table()read.fwf()scan()write.table()sink()读取Excel数据读取和导出dBase(:dbf)读取和导出其它统计软件的数据3统计初步描述性统计正态性检验t测验&F测验方差分析卡方检验相关性分析线性回归分析4总结与练习../njau..........................................................................................................R语言入门(B)Slide3/51Chapter3R语言入门(B)1W:数字时代1本章内容主要参考AnIntroductiontoR(中文译本)、RforBeginners(中文译本)、RDataImport/Export(中文译本)和统计建模和R软件(薛毅、陈立萍编)../njau..........................................................................................................R语言入门(B)Slide4/51数据框及其基本操作x1数据框及其基本操作W:数据框&关系型数据库管理系统&表../njau..........................................................................................................R语言入门(B)Slide5/51数据框及其基本操作数据框1.1数据框属于“data.frame”类的列表必须满足以下限制条件▶分量必须是向量、因子、数值矩阵、列表或其他数据框▶矩阵、列表和数据框为新数据框提供了尽可能多的变量▶数值向量、逻辑值、因子保持原有格式▶字符向量会被强制转换成因子▶数据框中以变量形式出现的向量结构必须长度一致用”$”访问列向量常常被看作一个同不由类型和属性的列构成的矩阵▶能以矩阵形式出现▶行列可以通过矩阵的下标习惯访问../njau..........................................................................................................R语言入门(B)Slide6/51数据框及其基本操作数据框1x-2:3;M-c(20,10,35);y-letters[2:3]2data.frame(x,M)#向量长度必须一致3Errorindata.frame(x,M):4argumentsimplydifferingnumberofrows:2,35newdf-data.frame(A1=x,A2=y);newdf6A1A2712b823c9mode(newdf);class(newdf)#属于“data.frame”类的列表10[1]list11[1]data.frame12newdf$A2#访问数据框列向量,字符向量被强制转换为因子13[1]bc14Levels:bc15newdf[,1]#通过下标访问列向量16[1]2317newdf[A2]#通过列名访问列向量,注意与newdf$A2、newdf[1,]的区别18A2191b202c21newdf[1,]#通过下标访问数据框的行22A1A22312b../njau..........................................................................................................R语言入门(B)Slide7/51数据框及其基本操作创建数据框1.2创建数据框1data.frame(:::,row:names=NULL)▶row.names:给行命名,字符向量且长度必须等于行数2as.data.frame()▶向量、因子、矩阵▶符合数据框条件列表也可强制转换3read.table()1x-1:2;y-letters[2:3];z=c(20,30)2newdf-data.frame(x,y,row.names=z);newdf#行命名3xy4201b5302c6rownames(newdf)#rownames()访问行标签向量7[1]20308colnames(newdf)#与之对应的是colnames(),访问列名向量9[1]xy../njau..........................................................................................................R语言入门(B)Slide8/51数据框及其基本操作基本操作1.3基本操作查看数据▶查看前n行数据:head(x,n)▶查看最后n行数据:tail(x,n)合并数据▶data.frame(x,y,:::)▶cbind(x,y,:::):等同于data.frame(x,y,:::)▶rbind(x,y,:::):要求合并的数据框列向量一致筛选数据:subset(x,subsect,select)▶subsect:条件表达式▶select:选择的列变量../njau..........................................................................................................R语言入门(B)Slide9/51数据框及其基本操作基本操作1head(iris,2)#iris为内置数据集,通过data()查看可访问的内置数据集2Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies315.13.51.40.2setosa424.93.01.40.2setosa5d1-head(subset(iris,Sepal.Length5,c(Sepal.Length)),2)6d1#筛选iris中Sepal.Length5前2项,且只含Sepal.Length列7Sepal.Length815.1965.410d2-tail(subset(iris,Sepal.Length5,-c(Sepal.Length,Species)),2)11d2#筛选iris中Sepal.Length5后2项,且不含Sepal.Length、Species列12Sepal.WidthPetal.LengthPetal.Width131493.45.42.3141503.05.11.815cbind(d1,d2)16Sepal.LengthSepal.WidthPetal.LengthPetal.Width1715.13.45.42.31865.43.05.11.8../njau..........................................................................................................R语言入门(B)Slide10/51数据框及其基本操作attach()&detach()1.4attach()&detach()1x-1:2;M-matrix(1:6,2,3);rname-letters[2:3]2newdf-data.frame(x=x+21,M,row.names=rname);newdf3xX1X2X34b221355c232466attach(newdf)#将列表或数据框的列名与列向量绑定27Thefollowingobject(s)aremasked_by_'.GlobalEnv':89x10x;newdf$x#由于已有对象x存在,列变量x被屏蔽311[1]1212[1]222313X1+X2*X3#通过列名直接访问数据框的列向量14[1]162615detach(newdf)#撤消绑定16X1+X2*X317Error:object'X1'notfound2该函数与搜索路径有关,具体准确的含义请参考R导论或AnIntroductiontoR3attach()非常实用,但必须小心谨慎:1)避免重复使用attach();2)确保变量名惟一;3)每次只attach一个数据框,attach其它数据框前,请先detach已attach的数据框../njau..........................................................................................................R语言入门(B)Slide11/51数据框及其基本操作数据排序1.5数据排序sort(x,decreasing=FALSE)▶将向量中元素进行排序,默认升序排列order(x,decreasing=FALSE)▶返回向量元素排序后的下标顺序,默认升序排列H数据框数据排序1e-c(12,32,8,9,12,64)2sort(e);sort(e,decreasing=T)#向量升序、降序排列3[1]89121232644[1]64321212985order(e)6[1]3415267e[order(e)]8[1]8912123264../njau..........................................................................................................R语言入门(B)Slide12/51数据框及其基本操作数据排序1dat-data.frame(species=c(S.altissima,S.rugosa,2+E.graminifolia),treatment=factor(c(Control,Water,3+Control)),height=c(1.1,0.8,0.9),width=c(1,1.7,0.6))4dat5speciestreatmentheightwidth61S.altissimaControl1.11.072S.rugosaWater0.81.783E.graminifoliaControl0.90.69order.nos-order(dat$height);order.nos10[1]23111dat[order.nos,]12speciestreatmentheightwidth132S.rugosaWater0.81.7143E.graminifoliaControl0.90.6151S.altissimaControl1.11.016dat[rev(order.nos),]#rev()实现向量元素逆序
本文标题:02_R语言基础_数据框
链接地址:https://www.777doc.com/doc-6385152 .html