R 语言读取数据的几种方式简介

原创
2014/04/23 13:53
阅读数 1.1W

R 语言数据输入的几种方式简介,希望能对大家有所帮助


$使用键盘输入数据

mydata<-data.frame(age=numeric(0))

edit(mydata)


$从带分隔符的文本文件中导入数据 (.csv文件)

你可以使用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式

的文件并将其保存为一个数据框。其语法如下:

mydataframe<-read.table(file,header=logical_value,sep="delimiter",row.names="name")

其中,file是一个带分隔符的ASCII文本文件,header是一个表明首行是否包含了变量名的逻

辑值(TRUE或FALSE),sep用来指定分隔数据的分隔符,row.names是一个可选参数,用以指

定一个或多个表示行标识符的变量。

参数sep允许你导入那些使用逗号以外的符号来分隔行内数据的文件。你可以使用

sep="\t"读取以制表符分隔的文件。此参数的默认值为sep="",即表示分隔符可为一个或多个

空格、制表符、换行符或回车符。


$导入Excel数据

读取一个Excel文件的最好方式,就是在Excel中将其导出为一个逗号分隔文件(csv),并使

用前文描述的方式将其导入R中。在Windows系统中,你也可以使用RODBC包来访问Excel文件。

电子表格的第一行应当包含变量/列的名称。

首先,下载并安装RODBC包。

install.packages("RODBC")

你可以使用以下代码导入数据:

channel<-odbcConnectExcel("e:/patientA.xls")

如果是 EXCEL 2007 可以用

install.packages("xlsx")

library(xlsx)

read.xlsx("来读取文件")


$导入XML数据

www.omegahat.org/RSXML


$从网页抓取数据

www.programmingr.com


$导入SPSS数据

SPSS数据集可以通过foreign包中的函数read.spss()导入到R中,也可以使用Hmisc包中

的spss.get()函数。函数spss.get()是对read. spss()的一个封装,它可以为你自动设置

后者的许多参数,让整个转换过程更加简单一致,最后得到数据分析人员所期望的结果。


$导入SAS数据

R中设计了若干用来导入SAS数据集的函数,包括foreign包中的read.ssd()和Hmisc包中

的sas.get()。


$访问数据库管理系统

R中有多种面向关系型数据库管理系统(DBMS)的接口,包括Microsoft SQL Server、Microsoft

Access、MySQL、Oracle、PostgreSQL、DB2、Sybase、Teradata以及SQLite。其中一些包通过原

生的数据库驱动来提供访问功能,另一些则是通过ODBC或JDBC来实现访问的。使用R来访问存

储在外部数据库中的数据是一种分析大数据集的有效手段


ODBC接口

在R中通过RODBC包访问一个数据库也许是最流行的方式,这种方式允许R连接到任意一种

拥有ODBC驱动的数据库,其实几乎就是市面上的所有数据库。

第一步是针对你的系统和数据库类型安装和配置合适的ODBC驱动——它们并不是R的一部

分。如果你的机器尚未安装必要的驱动,上网搜索一下应该就可以找到。

针对选择的数据库安装并配置好驱动后, 请安装RODBC 包。你可以使用命令

install.packages("RODBC")来安装它。


RODBC中的函数

odbcConnect(dsn,uid="",pwd="") 建立一个到ODBC数据库的连接

sqlFetch(channel,sqltable) 读取ODBC数据库中的某个表到一个数据框中

sqlQuery(channel,query) 向ODBC数据库提交一个查询并返回结果

sqlSave(channel,mydf,tablename=sqtable,append=FALSE)

将数据框写入或更新(append=TRUE)到ODBC数据库的某个表中

sqlDrop(channel,sqtable) 删除ODBC数据库中的某个表

close(channel) 关闭连接


DBI接口

DBI包为访问数据库提供了一个通用且一致的客户端接口。构建于这个框架之上的RJDBC包

提供了通过JDBC驱动访问数据库的方案。使用时请确保安装了针对你的系统和数据库的必要

JDBC驱动。其他有用的、基于DBI的包有RMySQL、ROracle、RPostgreSQL和RSQLite。这些

包都为对应的数据库提供了原生的数据库驱动,但可能不是在所有系统上都可用。详情请参阅

CRAN(http://cran.r-project.org)上的相应文档。


展开阅读全文
加载中
点击加入讨论🔥(3) 发布并加入讨论🔥
打赏
3 评论
5 收藏
0
分享
返回顶部
顶部