R关于读入和导出数据和图像文件

关于R的内置数据集

查看内置数据集
对于R内置的数据集,可以通过在数据集名前添加问号 来进行查看

读入外部数据文件

查看和选择各种文件
在R中,对于外部读入的数据集文件需要放置在对应的工作目录下,getwd()获取工作目录;或者将含该数据文件的地址设置为R的工作目录,setwd()设置工作目录;lsit.files()函数则可以显示所有在工作目录下的文件名。
通过R的file.choose()函数可以用R开启一个交互式页面选择文件,点击相对应文件可以在R中得到文件所在的位置,或是配合读取文件函数使用,通过交互式点击文件即可读入文件。

> file.choose()
[1] "C:\\Users\\11971\\Documents\\检验用.xlsx"
> a<-read_excel("C:\\Users\\11971\\Documents\\检验用.xlsx")
> a<-read_excel(file.choose())

表格格式
对于表格格式文件,主要有三个主要特征,对应着R中文件读取函数的参数,读取表格格式文件的函数为 read.table(),下面括号内表示其函数参数名。其实大多数文件读取函数都含有一下参数,如若出现问题可以使用问号?进行查看。

  • 表头(header=):当header=TRUE时,R会将表格第一列作为变量名;当header=FALSE时,R便将表格第一列作为数据读入。
  • 分隔符(sep=):用于识别分割每一行的数据。
  • 列名(col.names=):当header=FALSE即数据集缺乏列名时,可以使用该参数对列名进行取名。
  • 行名(row.names=):确定每一行的变量名。
  • 缺失值(na.strings=):在读取文件时,R可以将这些条目转变为可识别的NA。
  • 各列的类型确定(colclass=):例:colclass=c(“numeric”,“factor”,“character”)。列数大于其内含类别时循环。
  • 变量变化(stringsAsFactors=):当stringsAsFactors=FALSE时,可以避免R读入数据将所有非数值元素当作因子处理。若要将表格内部分变量转化为因子型,可以使用factor()as.factor()函数处理。

电子表格工作簿
对于Microsoft Office Excel的标准文件格式后缀为.xlsx或者.xls,但一般来说这些文件格式与R不能直接兼容,普遍的办法是将电子表格文件导出为表格格式,如CSV格式,再使用read.csv()或者read.csv()函数进行读取。
但其实使用readxl的R包内的read_excel()函数即可实现读取后缀名为.xlsx或者.xls的文件。而当工作簿文件内含多个表格时,可以添加sheet=""进行提取。

a<-read_excel("总表.xlsx",sheet="Sheet3")

读取网页文件
读取网页文件需要对应的网址,但有时页面404或是网络问题将会导致R无法成功读取数据文件。

> dia.url<-"http://www.amstat.org/publications/jse/v9n2/4cdata.txt"
> diamonds<-read.table(dia.url)

导入SPSS数据文件
IBM SPSS数据集,即后缀名为.sav的文件,可以通过foreign包内的read.spss()函数进行读取,也可以使用Hmisc包内的spss.get()函数读取。其中有个需要注意到的参数。

  • use.value.labels=TRUE,表示让函数将带有值标签的变量导入为R中水平对应相同的因子。

导入SAS数据文件
对于SAS数据文件,R中有许多函数可以进行读取。foreign包内的read.ssd()函数,Hmisc包中的sas.get()函数,sas7bdat包中的read.sas7bdat()函数。
导入Stata数据文件
对于Stata数据文件,即后缀名为.dta的数据文件,导入R可使用foreign包的read.dta()函数实现。
其他
在《R语言实战》中第二章部分还提及到了关于R导入HDF5数据、导入NetCDF数据、访问数据库管理系统等。

导出数据文件和图形

数据集
使用write.table()函数即可实现导出数据文件,具体使用方法为write.table(R中数据集名,“命名”),该文件会被保存在R的工作目录下。而经常使用的write.csv()是为csv文件设计的write.table函数的快捷方法。

> write.table(b,"总表.csv")

图像和图形文件
与数据文件相似,图形也是可以直接写进文件当中。R可以直接写入.jepg、.bmp、.png、.tiff文件,并对图像进行二次加工。加工结束后记得需要使用dev.off()结束对该图的编辑加工。而将图形保存在文件中,则可以使用ggsave()函数进行保存。

> jepg(filename="a.jepg",width=600,height=600)#将图形像素设置修改为600*600
> dev.off()
> ggsave(filename="b.png")
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值