、使用R数据库接口
连接MySQL,使用RMySQL包,使用前RMySQL包要先安装。
library(RMySQL)
连接方式有2种:
(1)使用dbConnect
conn <- dbConnect(MySQL(), dbname = "rmysql", username="rmysql", password="rmysql", host="127001", port=3306)
数据 *** 作方法:
dbWriteTable(conn, "tablename", data) #写表
是的。
由于R会把数据读入内存中,因此这对于处理和分析小型数据集很合适。R可以使用两大标准访问数据库,即ODBC和JDBC。JDBC(又称Java数据库连接)由一系列Java实现的类和接口组成,它们允许Java和数据库间直接通信。
把所有的编码都改为UTF-8,包括jsp页面,数据库编码等
数据库用的是UTF-8,客户端用GBK连接,这都没问题,但是JSP页面也得用UTF-8或者在保存前使用代码转化成UTF-8编码(String mycontent=new String(contentgetBytes("ISO-8859-1"),"UTF-8");)也可以
希望以上信息可以帮到您!
R中还有一个有趣的sqldf包,它可以让你用SQL来 *** 作dataframe,这种功能能让会R的人能练习SQL,会SQL的人能练习R,不得不感叹R语言的强大技能和神奇魅力。 \x0d\ 当然也可以将R与外部数据库连接,直接在R中 *** 作数据库,并生成最终结果,这也是一种可行的方法。在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它们分别对应了几种主流的数据库。 \x0d\ 注:以上文字来自R-blogger—_《在R语言中使用SQL》 \x0d\ 值得一提的是在运用sqldf包时可能要对R软件升级到310版以上,否则安装不会成功,这里简单介绍一种在Windows环境下对R软件自动升级的方法。 \x0d\ Windows上升级R语言:\x0d\ installpackages("installr"); \x0d\ library(installr) #加载包\x0d\ updateR()\x0d\\x0d\之后选择“确定”就可以自动更新了 \x0d\ 虽然在R语言中有很多优秀的函数如aggregate()和daply()可以对数据框统计,但sql功能强大,不仅能实现数据的清洗、统计、运算,还可以实现数据存储、控制、定义和调用。越来越多的公司在招聘的时候都要求数据分析师除了要掌握统计建模和数据挖掘的理论方法和编程能力外,还要求其具备使用sql的能力,楼主也在积极学习sql当中。 \x0d\ 下面是我利用sqldf()完成的一些程序,虽然简单,但这是学习的第一步\x0d\> name subject score stuid stuscore library(sqldf)\x0d\\x0d\1计算每个人的总成绩并排名(要求显示字段:姓名,总成绩)\x0d\> sqldf('select name,sum(score) as allscore from stuscore group by name order by allscore')\x0d\ name allscore\x0d\1 张三 239\x0d\2 李四 240\x0d\\x0d\2计算每个人的总成绩并排名(要求显示字段: 学号,姓名,总成绩)\x0d\> sqldf('select name,stuid,sum(score) as allscore from stuscore group by name order by allscore')\x0d\ name stuid allscore\x0d\1 张三 1 239\x0d\2 李四 2 240\x0d\\x0d\3计算每个人单科的最高成绩(要求显示字段: 学号,姓名,课程,最高成绩)\x0d\> sqldf('select stuid,name,subject, max(score) as maxscore from stuscore group by stuid')\x0d\ stuid name subject maxscore\x0d\1 1 张三 数学 89\x0d\2 2 李四 数学 90\x0d\\x0d\4计算每个人的平均成绩(要求显示字段: 学号,姓名,平均成绩)\x0d\> sqldf('select stuid,name,subject, avg(score) as avgscore from stuscore group by stuid')\x0d\ stuid name subject avgscore\x0d\1 1 张三 英语 7966667\x0d\2 2 李四 英语 8000000\x0d\\x0d\5列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,科目,成绩)\x0d\> sqldf('select stuid,name,subject,max(score) as maxscore from stuscore group by subject order by stuid')\x0d\ stuid name subject maxscore\x0d\1 1 张三 语文 80\x0d\2 2 李四 数学 90\x0d\3 2 李四 英语 80\x0d\\x0d\8.列出各门课程的平均成绩(要求显示字段:课程,平均成绩)\x0d\> sqldf('select subject,avg(score) as avgscore from stuscore group by subject')\x0d\ subject avgscore\x0d\1 数学 895\x0d\2 英语 750\x0d\3 语文 750
r语言最多能处理上万条数据是用于统计分析、绘图的语言和 *** 作环境。r语言属于一个数据库,可以存很多的数据,是可以有上万数据的,其内部可以由多种数据类型,每一列是一个变量,每行是一个观测记录。
以上就是关于liunx下r语言怎么用odbc包连接mysql数据库全部的内容,包括:liunx下r语言怎么用odbc包连接mysql数据库、David数据库是以R语言运算的吗、r语言连接mysql数据库查询表中文字段名乱码怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)