R(5): sql 数据处理

sqldf程序包是R语言中实用的数据管理辅助工具,但最新版本的包在处理中文时出现乱码,待解决

Usage:  sqldf(x, stringsAsFactors = FALSE,  row.names = FALSE...)

  • row.names: 为True时,行名重命名不重新命名
  • 需安装sqldf 包: install.packages("sqldf")
  • 加载如下包:

    library(gsubfn)
    library(proto)
    library(RSQLite)
    library(DBI)
    library(tcltk)
    library(sqldf)
  • 取前几行数据示例

    > x <-head(iris,2)
    > y <- sqldf("select * from iris limit 2")
    > #比较两个数据框是否相同
    > identical(x,y)
    [1] TRUE
    > y
      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
  • like提取数据子集

    > #取出物种列中以se开头的数据子集
    > a2r <- subset(iris, grepl("^se", Species))
    > a2s <- sqldf("select * from iris where Species like ‘se%‘")
    > all.equal(as.data.frame(a2r), a2s)
    [1] TRUE
  • in 提取子集
    > #在iris数据集中,选出量物种是setosa和virginica的行
    > a3r <- subset(iris, Species %in% c("setosa", "virginica"))
    > a3s <- sqldf("select * from iris where Species in (‘setosa‘, ‘virginica‘)")#注意单引号和双引号
    >
    > #a3r选的是子集,因而行名还是与原数据集相同
    > row.names(a3r) <- NULL
    > identical(a3r, a3s)
    [1] TRUE
  • 数据合计
    > head(iris,2)
      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
    >  aggregate(iris[1:2], iris[5], mean) #计算物种前两个变量的平均值
         Species Sepal.Length Sepal.Width
    1     setosa        5.006       3.428
    2 versicolor        5.936       2.770
    3  virginica        6.588       2.974
    >  sqldf(‘select Species, avg("Sepal.Length") ,  avg("Sepal.Width")   from iris group by Species‘)
         Species avg("Sepal.Length") avg("Sepal.Width")
    1     setosa               5.006              3.428
    2 versicolor               5.936              2.770
    3  virginica               6.588              2.974
  • order by
    > head(warpbreaks,2)
      breaks wool tension
    1     26    A       L
    2     30    A       L
    > head(warpbreaks[order(warpbreaks$breaks, decreasing = TRUE), ], 2)
      breaks wool tension
    5     70    A       L
    9     67    A       L
    > sqldf("select * from warpbreaks order by breaks desc limit 2")
      breaks wool tension
    1     70    A       L
    2     67    A       L
时间: 2024-10-14 07:03:58

R(5): sql 数据处理的相关文章

R语言在数据处理上的禀赋之——可视化技术(一)

本文首发 https://program-dog.blogspot.com R语言在可视化上可谓非常出众,想必这也是为什么R语言在数据处理方面受到追捧的原因之一. 上一节已经大体了解了R语言的基本数据类型,以及优势所在.R的可视化技术同样也是优势大大滴.这也是R的数据类型为可视化立下汗马功劳,为啥这样说呢? Java的可视化技术 我们再拿Java开刀,和做一下对比.希望Java他老爹不要见怪.大家都知道,java做图真心说不上漂亮,为什么又拿java做对比呢?原因之一是我对java比较熟悉一点,

sql 数据处理时join字段慎重选择--避免出现double数据!

前几天做BI Tabular表格模型的时候,数据中心核对数据发现模型展现数据比实际数据要多,经过核查之后,发现原来我是一个不经意,在做数据选取的时候,inner join的字段CITY_NAME_CN选取错误. 首先对比事实表和我数据源选取的数据量差异:正常(8080945条记录) SELECT count(YYYYMMDD) FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] --8080945 我的数据源sql:选取(8110909条记录) SELECT [GUID] ,

R语言之数据处理

一.向量处理 1.选择和显示向量data[1]data[3]data[1:3]data[-1]:除第一项以外的所有项data[c(1,3,4,6)]data[data>3]data[data<5|data>7]:小于5或大于7的所有项which(data == max(data)):显示数值最大的那个项序号data[seq(1,length(data),2)]:每隔一段取出特定值,1为从第一项开始,length(data)表示到向量的最后一项结束,2表示间隔两项 2.向量的排序 sort

Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession 创建 DataFrames 无类型的Dataset操作 (aka DataFrame 操作) Running SQL Queries Programmatically 全局临时视图 创建Datasets RDD的互操作性 使用反射推断Schema 以编程的方式指定Schema Aggregatio

R语言:用简单的文本处理方法优化我们的读书体验

前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实就是继续讲一下用R语言读书的事情啦,讲讲怎么用它里面简单的文本处理方法,来优化我们的读书体验,如果读邮件和读代码也算阅读的话..用的代码超级简单,不涉及其他包 这里讲两个示例,结尾再来吐槽和总结. 1)R-Blogger订阅邮件拆分 2) R代码库快速阅读方法 不在博客园上阅读时才会看到的,这篇博文归 http://www.cnblogs.com/weibaar所有 仅保证在博客园博客上的排版干净利索

R: Kriging interpolation and cross validation 克里金插值及交叉验证浅析

克里金插值的基本介绍可以参考ARCGIS的帮助文档[1]. 其本质就是根据已知点的数值,确定其周围点(预测点)的数值.最直观的方法就是找到已知点和预测点数值之间的关系,从而预测出预测点的数值.比如IDW插值方法,就是假设已知点和预测点的值跟它们相对距离成反比.克里金插值的精妙之处在于它不仅考虑了已知点和预测点的距离关系,还考虑了这些已知点之间的自相关关系. 如何衡量已知点之间的自相关关系呢?通常使用的就是半变异函数,其公式如下[1]: Semivariogram(distance h) = 0.

PDO的基本应用【访问不同的数据库】【事务功能】【防止SQL注入】

PDO 1.访问不同的数据库2.自带事务功能3.防止SQL注入 访问  自带的事务功能展示, 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"&

你真的会玩SQL吗?之逻辑查询处理阶段

前言 最近要对数据库进行优化,但由于工作项目中已经很少亲自写SQL而且用的都不是很复杂的语句,所以有些生疏了,于是翻翻N年前的笔记资料,想以此来记录回顾总结一些实用的SQL干货让大家来学习,若有不对之处可提出. 记得刚出来行走江湖的时候也是只会增.删.改.查四大法宝,一般公司没有多少复杂的业务,所以就够用了.但后来看着大神会写个几百行的SQL存储过程就感觉自己是不是弱爆了. 如今是大数据的时代,对数据的处理要求越来越重视,要出各种数据报表,因此百万数据处理速度,数据库明显比后台逻辑处理的优势不是

《R实战》读书笔记一

你只要想处理数据,<R实战>这本书就可以助你一臂之力. <R实战>的目标是让你认识R,并且能够对数据进行操作,可视化和理解.该书包括4部分16个章节8个附录. 第一部分:入门,包括5章,简述如下. 第一章:R简介.谈及R是什么以及R的安装,R的交互式编程和批处理编程. 第二章:创建数据集.谈及R获取数据的方法,先介绍了R的数据结构形式,后介绍了R从文本.电子表格.Web页面.统计包(SAS.SPSS等)和数据库中获取数据的方法. 第三章:绘图入门.谈及R中绘制图形.美化图形和以合适