资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
#2.1.1data() #查看数据集列表data(CO2) #载入CO2数据集(来自datasets)library(MASS) #载入package MASSdata(package=MASS) #查看MASS中数据集data(SP500,package=MASS) #载入MASS中的SP500数据集,也可简化为data(SP500)#2.1.2getwd() #返回当前工作目录,C:/Users/DELL/Documentssetwd(d:/data) #也可以写成setwd(d:data)“/ ”或“”getwd() #返回当前工作目录d:/dataread.table(file, header=FALSE, sep=” ”,quote=” ,dec=”.“, col.name, as.is=!stringsAsFactors, na.strings=”NA”,skip=0, strip.white=FALSE, blank.lines.skip=TRUE,comment.char=”#”)dec #设置用来表示小数点的字符;row.names #向量的行名,默认为1,2,3.。na.strings #赋给缺数据的值(NA)skip #开始读取数据前跳过的数据文件行数(一般为标题行)strip.white #(是否消除空白字符)blank.lines.skip #(是否跳过空白行)data=read.table(d:/data/salary.txt,header=T) #读取数据,没有事先设定工作目录时data=read.table(salary.txt,header=T) #出现缺失值会报错,不是有效读取大数据的方法data #显示数据data=read.csv(salary.csv,header=T) #出现缺失值会自动填补NA一种更灵活的指令-函数scan()scan(file=” ”, what=double(), nmax=-1, n=-1, sep=” ”,skip=0,nlines=0, na.strings=”NA”.)scan()函数中如果不加参数,可以手动输入数据;scan()函数不存在header参数what-指定要读取的数据类型,支持logical, integer, numeric,complex,character,raw,listdata2=scan(salary.txt,skip=1,what=list(City=,Work=0,Price=0,Salary=0) #说明要创建列表,指定了列表中的对象名称,指定city是字符型,其他是数值型变量。 #由于不存在header参数,skip=1说明读取时跳过表示名称的第一行data2mode(data) #显示对象类型;1 listnames(data) #显示对象中的标签;1 City Work Price Salarydim(data) #显示对象的维数;1 15 4#要显示列表中的变量需要使用符号$,attach()简化data$Salary #注意区分大小写attach(data)Salarydetach(data)Salary#2.1.3 读取固定宽度格式的文件 read.fwf()#read.fwf() 通过widths参数指定一个向量c()来设置各个字段的宽度,小数点占一个字符data.fwf=read.fwf(d:/data/fwf.txt,widths=c(2,4,4,3),col.names=c(W,X,Y,Z)data.fwf#2.1.4data.excel=read.delim(clipboard) #clipboard即剪切板mode(data.excel);dim(data.excel)#RODBC提供R和各类数据库的一个接口,其中获取Excel连接的函数是odbcConnectExcel()和odbcConnectExcel2007(),分别用来读取Excel2003版(扩展名为.xls)和2007版(.xlsx)。install.packages(RODBC)library(RODBC)channel=odbcConnectExcel2007(d:/data/Salary.xlsx) #获取Excel连接sqlTables(channel) #列出excel中的表格#获取Sheet1中的数据,可以使用如下的任意一种方式data.excel2=sqlFetch(channel,Sheet1) #直接获取data.excel2=sqlQuery(channel,select*fromSheet1$) #使用SQL语句获取close(channel) #关闭ODBC连接,释放空间mode(data.excel2);dim(data.excel2)#2.1.5odbcDataSources() #查看可用的数据源#通过RMySQL/DBI读取数据库library(RMySQL) #同时也会加载DBI程序包con=dbConnect(MySQL(),user=”root”,password=”111111”,dbname = test) #打开一个MySQL数据库的连接table.names=dbListTables(con) # 数据库中的表名存入table.names,方便查看field.names=dbListFeilds(con,”students”) # 列出表students中的字段dbReadTable(con,”students”) #获得并列出整个表dbSendQuery(con, “SET NAMES gbk”) #传送查询,说明用什么字符集来获取数据库字段,gbk或utf8要与之前设置的保持一致。query=dbSendQuery(con, “select * from students order by age”)fetch(query) #显示以年龄排序的查询结果dbRemoveTable(con,”students”) # 删除表(删除成功后显示逻辑值TRUE)dbDisconnect(con) # 关闭连接#通过RJDBC读取数据库library(RJDBC)help(JDBC)drv=JDBC(com.mysql.jdbc.Driver, /etc/jdbc/mysql-connector-java-3.1.14-bin.jar, )conn=dbConnect(drv, jdbc:mysql:/localhost/test)dbListTables(conn) #列出数据库中的表dbGetQuery(conn, select count(*) from iris) #执行查询#2.1.6 readHTMLTable()读取网页数据#readHTMLTable(doc, header=NA, colClasses=NULL, skip.rows=integer(), trim=TRUE,elFun=xmlValue, as.data.frame=TRUE, which=integer(),.)doc-HTML文件或URL(网页网址);header-若为逻辑值,表示是否包含列标签;若为字符向量,则为列名称赋值;colClasses-一个列表或向量,指定表中的格列数据的类型,interger,numeric,logical,character;skip.rows-指定要忽略的行;trim-逻辑值,表示是否要删除开头和结尾的空白单元格;which-整数向量,表示返回网页中的哪几个表格。install.packages(XML) #安装解析XML的包library(XML)baseURL=http:/data.eastmoney.com/center/stock.html #存入网址,网页数据如下table=readHTMLTable(baseURL,header=TRUE,which=1)mode(table);dim(table) #查看table的类型和数据维度1 list1 4 7head(table,2) #查看列表table前两行的数据,出现乱码,需要对变量名重新赋值names(table)=c(类别,成交量,成交金额,总市值,流通市值,上市公司,平均市盈率) #给变量名重新赋值table$类别=c(沪市,深市,中小板,创业板) #给第一个变量“类别”重新赋值head(table,2) #查看列表前两行数据u=http:/www.basketball-reference.com/players/j/jamesle01.htmlJames=readHTMLTable(readLines(u), which=3, header=TRUE)dim(James)James1:5,1:10 #查看前5年的数据,取其中前10个变量#2.1.7load(d:/data/salary.Rdata)head(data,5) #显示数据框前5行的记录#2.1.8library(foreign)data.spss=read.spss(d:/data/salary2.sav,to.data.frame=T) #data.spss读入后为数据框变量dim(data.spss)library(Hmisc)data.spss2= spss.get(,d:/data/salary.sav)company=read.xport(d:/data/company.xpt)head(company)companycompany1=sasxport.get(d:/data/company.xpt)#2.2.1#函数cat()是导出数据的基础,可以在屏幕上输出对象,可以输出成文件#cat(.,file=” “,sep=” ”,fill=FALSE,labels=NULL,append=FALSE)#file-要输出的文件名,appen=TRUE-在指定文件末尾追加内容;#cat()可以连接多个字符串,可以连接字符串和数值向量等不同类型的对象;cat(c(AB, C), c(E, F), n, sep=) #在屏幕上输出ABCEFni=1:5cat(i = , i, n,sep=,) #以逗号为分隔符,在屏幕上输出i= ,1,2,3,4,5,ncat(c(AB, C), c(E, F),file=d:/data/cat.txt,sep=.) #向指定文件写入数据readLines(d:/data/cat.txt) #以行的形式读取文本i=1:5cat(i,file=d:/da
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号