您好,欢迎访问三七文档
计算机与R语言目录计算机与R语言第三章数据的存储与读取一、数据的存储二、数据的读取一、数据的存储1、R的工作目录命令方式:获取工作目录的函数:getwd()修改工作目录的函数:setwd()菜单方式:文件菜单中的“改变工作目录”注:R命令中目录的分割符使用正斜杠“/”或两个反斜杠“\\”。getwd()[1]D:/我的文档setwd(f:/r)getwd()[1]f:/r“setwd(f:\r)错误于setwd(f:\r):无法改变工作目录一、数据的存储2、数据保存为文件函数1:write.table(data,file,row.names=T,quote=T)函数2:write.csv(data,file,row.names=T,quote=T)说明:data一般为数据框,也可以是(向量,矩阵,数组,列表等),row.names为行号,quote为引号,默认为True。例如:write.table(mtcars,file=a1.txt)write.table(mtcars,a1.csv)write.table(mtcars,a1.dat)write.table(mtcars,a1.db)write.csv(mtcars,a2.txt)write.csv(mtcars,a2.csv)write.csv(mtcars,f:/abc/a2.csv)一、数据的存储write.table(d,file=a1.txt)write.table(d,file=a1.txt,row.names=F)write.table(d,file=a1.txt,row.names=F,quote=F)write.table(d,file=a1.txt,row.names=F,col.names=F,quote=F)一、数据的存储函数3:save(data,file=filename)save.image()说明:保存空间的映像。注:在R退出时系统自动保存两个文件,即.Rdata和.Rhistory。两个文件的作用分别为保存内存变量值和保存历史命令。所以如果想再次打开R时,能够调用曾经的命令,仅执行save.image()是不够的,需要保存历史记录为.Rhistory文件才可以。例如:mt-subset(mtcars,cyl==6)save(mt,file=”F:/r/mt.Rdata”)二、数据的读取1、文本文件的读取2、Excel数据的读取3、R中数据集的读取4、R格式的数据二、数据的读取1、文本文件的读取函数:read.table(file,header=F)说明:数值项(除了行号)将被当作数据变量读入,非数值变量(如Cent.heat),将被作为因子读入。如果明确数据的第一行作为表头行,则使用header选项。read.table()有四个变形,read.csv(),read.csv2(),read.delim(),read.delim2(),具体查看帮助信息。例如:h1-read.table(file=foo.dat)h1-read.table(file=foo.dat,header=T)h2-read.csv(a2.csv)二、数据的读取2、Excel数据的读取方法一:利用剪贴板,先复制excel中数据区域,执行Mydata-read.delim(“clipboard”)方法二:使用程序包RODBC,先下载安装RODBC包。library(RODBC)z-odbcConnectExcel(body.xls)foo-sqlFetch(z,Sheet1)close(z)若为Excel2007则使用函数odbcConnectExcel2007()二、数据的读取3、Access数据的读取作为简单易用的关系数据库管理系统,既可以直接进行数据存储统计分析,也可以作为各种小型应用系统的后台数据库。目前Access常用的版本有Access2003和Access2007等,Access2003的数据文件格式为.MDB,而Access2007的数据文件格式为.Accdb。1)Access数据库与表Access数据库是一种关系数据库,关系数据库是一种将数据汇集到一个或多个独特的二维表中的数据库,表通过相关表的联系字段彼此关联。•关系数据库的表即是我们熟悉的二维表格,这里是保存实际数据的地方。一个表就是一个被分成若干个字段的记录的集合。药品编号药品名称药品类型药品剂型药品单位药品单价药品数量生产日期药品过期日期是否使用1001阿莫西林西药24s盒24.611002011-3-132013-2-4是1002阿莫仙士干糖浆西药125mg×12包盒1112002011-3-302013-2-21是1003爱活胆通西药100s盒68.210002011-3-282013-2-19是1004倍他乐克西药20s盒15.71002011-4-72013-2-28否1005肠虫清西药10s盒1110002011-4-102013-3-3是2001复方胃友中成药100s盒2.810002011-8-312013-9-1是2002藿香正气水中成药100s支0.510002011-5-12013-5-2是2003西瓜霜喷剂中成药3g甁6.010002011-6-122013-6-13否例如:(1)在当前工作目录下,建立“医生处方和药品.MDB”数据库,并创建“药品表”,其字段信息如下:•药品编号:文本(4),主键(即主关键字)•药品名称:文本(15)•药品类型:文本(10)•药品剂型:文本(15)•药品单位:文本(4)•药品单价:数字(单精度,小数位数1位)•药品数量:数字(长整型)•生产日期:日期/时间•药品过期日期:日期/时间•是否使用:是/否•要想将“药品编号”字段设置为“主键”即“主关键字”,可以选中该字段,然后点击“常用工具栏”上的图标;也可以在该字段上点击右键,在弹出的快捷菜单中进行设置。•设计完成之后,我们单击保存,系统会提示我们输入表的名字,我们输入“药品表”,单击确定,关闭设计器,完成表的设计。(2)向表中录入数据打开药品表,录入如图所示的药品信息,录入数据时要注意,药品编号是主键不能空或重复。二、数据的读取2.Access数据的读取Access数据库的读取和存储将使用SQL语句。例如:library(RODBC)#加载程序包z-odbcConnectAccess(医生处方和药品.mdb)#连库sql-select*from药品表#使用SQL语句a-sqlQuery(z,sql)#读取数据a#显示结果odbcClose(z)#关闭连接二、数据的读取•SQL语句有很多种形式:•读取所有记录:select*from药品表•读取部分字段:select药品编号,药品名称from药品表•设置查询条件:select*from药品表where药品单价20•排序查询结果:select*from药品表orderby生产日期desc•读取前n条记录:selecttop5*from药品表•去掉重复数据:selectdistinct药品单位from药品表二、数据的读取4、R中数据集的读取(1)R中标准数据集读取data()(2)专用程序包中的数据集library(“pkname”)data(package=“pkname”)#pkname为程序包的名字data(dataname)二、数据的读取例题:先安装amap数据包。library(amap)#载入数据包data(package=“amap”)#查看数据包中的数据集data(lubisch,package=“amap”)#载入数据lubischlubisch#查看数据mean(lubisch$X1)#求X1均值attach(lubisch)#激活数据集lubischmean(X1)#求X1均值detach(lubisch)#挂起(卸载)lubisch二、数据的读取4、R格式的数据将数据保存在Rdata为扩展名的文件中。attach(mtcars)mtcars2-data.frame(mtcars[,c(1,4)])save(mtcars2,”d:/r/myR.Rdata”)load(“d:/r/myR.Rdata”)#重新加载
本文标题:R语言课件3
链接地址:https://www.777doc.com/doc-3552964 .html