如何在R语言中使用SQL命令

Python013

如何在R语言中使用SQL命令,第1张

R中还有一个有趣的sqldf包,它可以让你用SQL来操作dataframe,这种功能能让会R的人能练习SQL,会SQL的人能练习R,不得不感叹R语言的强大技能和神奇魅力。

当然也可以将R与外部数据连接,直接在R中操作数据库,并生成最终结果,这也是一种可行的方法。在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它们分别对应了几种主流的数据库。

作者:任坤

链接:http://www.zhihu.com/question/21792740/answer/27104765

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

reshape2 横向、纵向做数据变换,例如把纵向堆叠在数据库中的证券行情数据转换成一个按照不同证券代码横向排列,按照时间纵向排列收盘价的数据表

stringr 方便地用正则表达式做批量字符串操作,可做检测、匹配、替换、计数等等

lubridate 方便地做日期/时间操作,各种标准化时间和时区的处理

plyr 轻松地在vector, list, data.frame之间做分组变换,实现拆分、变换、合并的操作

dplyr 轻松地处理data.frame, data.table以及多种数据库为基础的数据,实现选择、变换、分组等等,速度很快

RODBC 连接ODBC数据库接口

RSQLite 连接轻量级SQLite数据库连接

jsonlite 读写json文件

yaml 读写yaml文件,实现灵活的程序外部配置

Rcpp, Rcpp11 写C++03/11代码直接编译后给R调用,大幅提升算法性能

data.table 快速处理较大数据表

ggplot2 高级绘图,一套统一的语法实现复杂图像组合绘制

zoo 时间序列数据的预处理,比如滚动平均等等

rmarkdown 用Markdown写文档并可方便地运行R代码与绘图

knitr 自动文档生成

devtools 扩展包开发必备,在线安装托管的扩展包,检查扩展包是否符合CRAN标准等等

testthat 扩展包自动测试

pipeR 自己写的高性能、低损耗、分工明确的管道操作(pipeline operator)扩展包,使得数据变换流程化

=== 专业领域(数值计算) ===

rootSolve 非线性方程求根、ODE均衡状态解

Rsolnp 非线性优化

=== 专业领域(计量和统计学习) ===

sde 随机微分方程模拟和统计推断

KernSmooth 非参数平滑与分布估计

cpm Change Point Detection 实时分布或者统计关系变化检测

stats4 可用来方便地做MLE估计