sqldf包详解:让SQL语句在R语言中执行
摘要:对于数据分析人员而言,R语言基本能够支持数据分析过程中的绝大部分需求。但对于习惯使用SQL语句处理数据的数据分析师,似乎更愿意将数据查询过程放在数据库中实现。
对于数据分析师来说,R语言基本上可以支持数据分析过程的大部分需求。 但对于习惯使用SQL语句处理数据的数据分析师来说,似乎更愿意将数据查询过程放在数据库中。 sqldf包的出现绝对是这部分分析师的天赐之物,因为它可以使用SQL语句来查询R语言中的data.frame。
目录:
1. sqldf简介
2.sqldf包安装
2.使用sqldf包
Sqldf包介绍
sqldf包是一个R包,用于在R语言环境中使用SQL查询data.frame格式的数据,这使用户可以方便地操作data.frame数据。 用户只能根据数据框的名词执行SQL查询。 同时,还允许用户直接使用sqldf包连接到数据库,执行SQL语句,并将结果返回给R语言。 总而言之,sqldf包在数据库的数据查询和R语言的数据集成之间具有良好的连接。
Sqldf包安装
sqldf包托管在cran上,因此您可以使用R语言标准安装语句进行sqldf安装。
安装环境:MAC OS
sqldf包的安装取决于gsubfn包,proto包和RSQLite包。 因此,在安装sqldf软件包的过程中,系统会自动安装相关的依赖项。
Install.packages( “sqldf”)
执行上述命令时,已安装表面sqldf包。 此时,您可以使用库(sqldf)函数来调用sqldf包。
库(sqldf)
查看sqldf包的版本
packageVersion( “sqldf”)
[1]'0.4.10'
使用sqldf包
简单的查询
以iris数据集为例,使用sqldf包进行简单的查询
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
#Use sqldf函数用于SQL查询
sqldf('select * from iris limit 5')
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
#使用sqldf更新数据
sqldf(c("update iris set Species = 'test' where Species == 'setosa' ", "select * from main.iris limit 10"))
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 test
2 4.9 3.0 1.4 0.2 test
3 4.7 3.2 1.3 0.2 test
4 4.6 3.1 1.5 0.2 test
5 5.0 3.6 1.4 0.2 test
6 5.4 3.9 1.7 0.4 test
7 4.6 3.4 1.4 0.3 test
8 5.0 3.4 1.5 0.2 test
9 4.4 2.9 1.4 0.2 test
10 4.9 3.1 1.5 0.1 test
使用sqldf远程连接数据库操作
首先加载RMySQL包
library(RMySQL)
sqldf("select * from t_data",dbname="test",drv="MySQL",
user="root",password="",host="127.0.0.1,port=3306)
通过指示mysql帐户信息,用户可以直接使用sqldf包连接到数据库,并执行SQL查询语句,并返回结果数据框。
注意:sqldf包默认使用SQLite语言。 当需要调整时,可以通过更改drv参数来实现。
有关更多信息,请参阅:https://github.com/ggrothendieck/sqldf
上一篇:怎么学好python ,才不会还没有入门就半途而废
下一篇:Android App 在没有授权的情况下也能获取你的权限?!
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了