R语言学习笔记第二章创建数据集 续
数据的输入
使用键盘输入数据:edit( )
语句mydata <- edit(mydata)的一种等价写法是fix(mydata)
从带分隔符的文本文件导入数据:read.table( )
要求是一个带分隔符的ASCII文本文件
?????
?????
默认情况下,字符型变量将转换为因子。设置选项stringsAsFactors = FALSE,将停止对所有字符型变量的此种转换,或者使用选项 colClasses为每一列指定一个类。
更多详情,请参阅help(read.table)
R也提供了若干种通过连接(connection)来访问数据的机制。函数file( )允许用户访问文件、剪贴板和C级别的标准输入。函数gzfile( )、bzfile( )、xzfile( )和unz( )允许用户读取压缩文件。函数url( )能够让你通过一个含有http://、ftp://或file://的完整URL访问网络上的文件,还可以为HTTP和FTP连接指定代理。为了方便,(用""围住的)完整的URL也经常直接用来代替文件名使用。
更多详情,参见help(file)。
导入Excel数据
方法一:在Excel中将其导出为一个逗号分隔文件(csv),并使用前文描述的方式将其导入R中
方法二:使用RODBC包来访问Excel文件。电子表格的第一行应当包含变量/列的名称
odbcConnectExcel( )函数只能用于32位操作系统?
为什么找不到这个工作表?
导入XML数据
由Duncan Temple Lang编写的XML包允许用户读取、写入和操作XML文件。
从网页抓取数据
使用函数readLines( ) 下载网页,然后使用如grep( )和gsub( )一类的函数处理它。
对于结构复杂的网页,可以使用RCurl包和XML包来提取其中想要的信息
导入SPSS数据
可以通过foreign包中的函数read.spss( )导入到R中,也可以使用Hmisc包中的spss.get( )函数。函数spss.get( )是对read. spss( )的一个封装,它可以为你自动设置后者的许多参数,让整个转换过程更加简单一致,最后得到数据分析人员所期望的结果。
注:封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
导入SAS数据
R中设计了若干用来导入SAS数据集的函数,包括foreign包中的read.ssd( )和Hmisc包中的sas.get( )。
导入Stata数据
导入netCDF数据
netCDF(network Common Data Form,网络通用数据格式)
导入HDF5 数据
HDF5(Hierarchical Data Format,分层数据格式)
访问数据库管理系统
1. ODBC接口
2. DBI相关包
通过Stat/Transfer导入数据
——————————————————————————
数据集的标注
通常这种标注包括为变量名添加描述性的标签,以及为类别型变量中的编码添加值标签。
变量标签
是将变量标签作为变量名,然后通过位置下标来访问这个变量。
值标签
函数factor( )可为类别型变量创建值标签
这里levels代表变量的实际值,而labels表示包含了理想值标签的字符型向量。
处理数据对象的实用函数
表2-3处理数据对象的实用函数
函 数 |
用 途 |
length(object) |
显示对象中元素/成分的数量 |
dim(object) |
显示某个对象的维度 |
str(object) |
显示某个对象的结构 |
class(object) |
显示某个对象的类或类型 |
mode(object) |
显示某个对象的模式 |
names(object) |
显示某对象中各成分的名称 |
c(object, object,…) |
将对象合并入一个向量 |
cbind(object, object, …) |
按列合并对象 |
rbind(object, object, …) |
按行合并对象 |
Object |
输出某个对象 |
head(object) |
列出某个对象的开始部分 |
tail(object) |
列出某个对象的最后部分 |
ls() |
显示当前的对象列表 |
rm(object, object, …) |
删除一个或更多个对象。语句rm(list = ls())将删除当前工作环境中的几乎所有对象* |
newobject <- edit(object) |
编辑对象并另存为newobject |
fix(object) |
直接编辑对象 |