分钟搞定R语言之数据库交互及统计绘图-大数据文档资料.pptx
45分钟搞定R语言之数据库交互及统计绘图
王显峰2012年4月
王显峰wxf0701@
lR数据库交互
R语言与数据库
通过RODBC进行数据存取
lR统计绘图
R语言与统计绘图
R的高水平绘图函数
R的常用绘图参数
R的低水平绘图函数
组合多个图形
高级格函数(LatticeFunction)l小结
王显峰wxf0701@
目录
RODM、teradataR、Rhive……
王显峰wxf0701@
数据的存储
TERADATA
R与数据库:各有所长、取长补短
数据的组织
数据的管理
统计图形
统计分析
〉管理工具-〉数据源(ODBC))
DBI(DataBaseInterface)方式:ROracle、RMysql……
需要针对特定的数据库下载专门的软件包
比ODBC方式表现更好
目前对Windows平台支持不好
王显峰wxf0701@
ODBC(OpenDataBaseConnectivity),开放式数据库连接
大部分计算机都有(Windows/Linux/MacOSX)
支持多种数据源(Oracle、MySQL、DB2、SQLSever……)
需要建立一个DSN(DataSourceName)或数据源的名称(控制面板-〉系统和安全-
R与数据库:两种连接方式
lR数据库交互
R语言与数据库
通过RODBC进行数据存取
lR统计绘图
R语言与统计绘图
R的高水平绘图函数
R的常用绘图参数
R的低水平绘图函数
组合多个图形
高级格函数(LatticeFunction)l小结
王显峰wxf0701@
目录
R通过RODBC方式进行数据存取的主要函数如下:
函数名称
函数描述
odbcConnect(dsn,uid=,pwd=)
建立并打开连接
sqlFetch(channel,sqtable)
从数据库读取数据表,并返回一个数据框对象
sqlQuery(channel,query)
向数据库提交一个查询,并返回结果
sqlSave(channel,mydf,tablename=sqtable,append=FALSE)
将一个数据框写入或更新(append=True)到数据库
sqlDrop(channel,sqtable)
从数据库删除一个表
sqlClear(channel,sqtable)
删除表中的内容
sqlTables(channel)
返回数据库中表的信息
sqlColumns(channel,sqtable)
返回数据库表sqtable列的信息
close(channel)
关闭连接
操作步骤:建立DSN——〉打开连接——〉数据操作——〉关闭连接
王显峰wxf0701@
通过RODBC进行数据存取:主要函数
示例:通过RODBC从Oracle读取数据
##加载RODBC包
library(RODBC)
##创建连接
channel-odbcConnect(BITEST,uid=dw,pwd=dw)
##执行查询
org1-sqlFetch(channel,DIM.DIM_ORGANIZATION)
org2-sqlQuery(channel,SELECT*FROMDIM.DIM_ORGANIZATION)
##关闭连接
odbcClose(channel)
##使用数据
head(org1)
head(org2)
王显峰wxf0701@
通过RODBC进行数据存取:读取数据
示例:通过RODBC将数据写入Oracle
library(RODBC)
channel-odbcConnect(BITEST,uid=dw,pwd=dw)
##创建数据框(待写入对象)
mydata-sqlQuery(channel,SELECT*FROMDIM.DIM_ORGANIZATION)
##写入数据库表,并读取结果表
sqlSave(channel,mydata,NEW_TABLE_NAME,append=FALSE)
mydata2-sqlQuery(channel,SE