r语言与数据库
1. R语言如何数据库读取数据
R 对于基于 SQL 语言的关系型数据库有良好 的支持,这些数据库既有商业数据库 Oracle、版Microsoft SQL Server、IBM DB2 等,也权包含在 GNU General Public License (GPL) 下发布的 MySQL 等开源数据库。 RMySQL 包中提供了到 MySQL 数据库的接口;RODBC 包提供了更为广泛数据库接口的解 决方案 支持所有标准 ODBC 接口的数据库。通过这种方式,相同的 R 代码可以方便地应用于 不同类型的数据库。 library (RODBC) ch <- odbcConnect("stocksDSN",uid = "myuser",pwd = "mypassword") stocks <- sqlQuery(ch ,"select * from quotes") odbcClose(ch) 经测试,Windows 平台上的 Microsoft SQL Server、Access、Oracle、MySQL、PostgreSQL,和
2. R语言怎么建立数据库
R 对于基于 SQL 语言的关系型数据库有良好的支持,这些数据库既有商业数据库 Oracle、Microsoft SQL Server、IBM DB2 等,也包含在 GNUGeneral Public License (GPL) 下发布的 MySQL 等开源数据库。RMySQL 包中提供了到 MySQL 数据库的接口;
3. r语言处理数据用不用连接数据库
:R 对于基于 SQL 语言的关系型数据库有良好的支持,这些数据库既有商业数据库 Oracle、Microsoft SQL Server、IBM DB2 等,也包含在 GNUGeneral Public License (GPL) 下发布的 MySQL 等开源数据库。RMySQL 包中提供了到 MySQL 数据库的接口
4. R语言可以用SQL语句导入数据库内容么
当然也可以将R与外部数据库连接,直接在R中操作数据库,并生成最终结果,这也是一专种可行的方法。在R中连属接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它们分别对应了几种主流的数据库。
注:以上文字来自R-blogger—–《在R语言中使用SQL》
5. 如何让R语言通过RODBC库读写数据库的数据
一、 安装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)
**最后要记得关闭连接
6. 如何在R语言中使用SQL语句
R中还有一个有趣的sqldf包,它可以让你用SQL来操作dataframe,这种功能能让会R的人能练习SQL,会SQL的人能练习R,不得不感叹R语言的强大技能和神奇魅力。
当然也可以将R与外部数据库连接,直接在R中操作数据库,并生成最终结果,这也是一种可行的方法。在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它们分别对应了几种主流的数据库。
注:以上文字来自R-blogger—–《在R语言中使用SQL》
值得一提的是在运用sqldf包时可能要对R软件升级到3.1.0版以上,否则安装不会成功,这里简单介绍一种在Windows环境下对R软件自动升级的方法。
Windows上升级R语言:
install.packages("installr");
library(installr) #加载包
updateR()
之后选择“确定”就可以自动更新了
虽然在R语言中有很多优秀的函数如aggregate()和daply()可以对数据框统计,但sql功能强大,不仅能实现数据的清洗、统计、运算,还可以实现数据存储、控制、定义和调用。越来越多的公司在招聘的时候都要求数据分析师除了要掌握统计建模和数据挖掘的理论方法和编程能力外,还要求其具备使用sql的能力,楼主也在积极学习sql当中。
下面是我利用sqldf()完成的一些程序,虽然简单,但这是学习的第一步
> name<-c(rep('张三',1,3),rep('李四',3))
> subject<-c('数学','语文','英语','数学','语文','英语')
> score<-c(89,80,70,90,70,80)
> stuid<-c(1,1,1,2,2,2)
> stuscore<-data.frame(name,subject,score,stuid)
> library(sqldf)
1.计算每个人的总成绩并排名(要求显示字段:姓名,总成绩)
> sqldf('select name,sum(score) as allscore from stuscore group by name order by allscore')
name allscore
1 张三 239
2 李四 240
2.计算每个人的总成绩并排名(要求显示字段: 学号,姓名,总成绩)
> sqldf('select name,stuid,sum(score) as allscore from stuscore group by name order by allscore')
name stuid allscore
1 张三 1 239
2 李四 2 240
3.计算每个人单科的最高成绩(要求显示字段: 学号,姓名,课程,最高成绩)
> sqldf('select stuid,name,subject, max(score) as maxscore from stuscore group by stuid')
stuid name subject maxscore
1 1 张三 数学 89
2 2 李四 数学 90
4.计算每个人的平均成绩(要求显示字段: 学号,姓名,平均成绩)
> sqldf('select stuid,name,subject, avg(score) as avgscore from stuscore group by stuid')
stuid name subject avgscore
1 1 张三 英语 79.66667
2 2 李四 英语 80.00000
5.列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,科目,成绩)
> sqldf('select stuid,name,subject,max(score) as maxscore from stuscore group by subject order by stuid')
stuid name subject maxscore
1 1 张三 语文 80
2 2 李四 数学 90
3 2 李四 英语 80
8.列出各门课程的平均成绩(要求显示字段:课程,平均成绩)
> sqldf('select subject,avg(score) as avgscore from stuscore group by subject')
subject avgscore
1 数学 89.5
2 英语 75.0
3 语文 75.0
7. 如何用r语言抓取数据库中的数据库
一、 安装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表中的内容,具体方法类似,这里不再重复
8. 如何用R语言连接和管理MYSQL数据库
首先在开始菜单打开控制面板。点击开始,选择右侧的控制面板。
在控制面板中,以所有控制面板的格式查看,选择管理工具,并打开。
在管理工具中,可以看到有个数据源(ODBC),打开数据源。
在数据源管理面板中,选择添加,由于我这里已经添加了一个数据源,只是介绍一下操作。
根据自己的数据库,选择相应的驱动,比如我这里是MYSQL ODBC 5.3。点击完成,进行下一步的配置。
这里根据提示,填写相应的字段即可。最后点击OK,由于这里没有填写任何字段,所以OK按钮是灰色的。
打开R软件,数据源设置好了之后,还要加载RODBC包。如果没有安装,参考经验“R语言关于R包的管理:安装加载查看,移除,卸载”。回车之后没有错误提示便是成功了。
9. 怎样使用r语言读取的sql数据
一、 安装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表中的内容,具体方法类似,这里不再重复
10. 数据分析工作中,R语言和SQL哪个接触得多
当然也可以将R与外部数据库连接,直接在R中操作数据库,并生成最终结果,这也是一种可行的方法。在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它们分别对应了几种主流的数据库。