如何用r语言抓取数据库中的数据库

Python022

如何用r语言抓取数据库中的数据库,第1张

一、 安装RODBC库

1、进入R语言的GUI界面(RGUI.EXE),在菜单栏选择“程序包/安装程序包

2、在弹出的窗口里往下拉,选择RODBC如图,点击确定

3、在ODBC数据源管理器里将需要的数据库添加进去,这里笔者使用的是SQL Server2008,驱动程序选择Native Client10.0

3、在R语言窗口输入连接语句

>library(RODBC)

**这里是载入RODBC库

>channel<-odbcConnect("MyTest",uid="ripley",case="tolower")

**连接刚才添加进数据源的“MyTest”数据库

**ch <- odbcConnect("some dsn ", uid = "user ", pwd = "**** ")

**表示用户名为user,密码是****,如果没有设置,可以直接忽略

>data(USArrests)

**将“USArrests”表写进数据库里(这个表是R自带的)

>sqlSave(channel,USArrests,rownames = "state",addPK = TRUE)

**将数据流保存,这时候打开SQL Server就可以看到新建的USArrests表了

>rm(USArrests)

>sqlTables(channel)

**给出数据库中的表

>sqlFetch(channel,"USArrests",rownames = "state")

**输出USArrests表中的内容

>sqlQuery(channel,"select * from USArrests")

**调用SELECT查询语句并返回结果(如图)

>sqlDrop(channel,"USArrests")

**删除表

>odbcClose(channel)

**最后要记得关闭连接

当然,通过这个办法也可以读取Excel、Access表中的内容,具体方法类似,这里不再重复

#加载RODBC包

library(RODBC)

#生成链接

channel<-odbcConnect("数据库名称", "用户名", "密码")

#读取数据库中的表

data1<-sqlFetch(channel, "表名称")

#将表写入数据库,以R中自带的iris数据集为例

sqlSave(channel, iris, "表名称")

R中rmeta程序包是R语言专门进行meta分析的一个程序包,当然类似的meta分析程序包在R语言中非常多,比如 meta,metafor等网页链接

。cochrane是rmeta程序包里面自带的一个用于meta分析的演示数据库。该数 据库是7个随机对照实验的数据,该数据库拥有5个变量(name,ev.trt,n.trt,ev.ctrl,n.ctrl),7个观察值(对应7个随机 对照实验)网页链接