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

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

  1. [2]R语言在数据处理上的禀赋之——可视化技术

    本文目录 Java的可视化技术 R的可视化技术 二维做图利器plot的参数配置 *权限机制 *plot独有的参数 *plot的type介绍 *title介绍 *公共参数集合--par *par的权限机 ...

  2. 数据挖掘R与SQL

    本文在Creative Commons许可证下发布 对于数据挖掘专业网站 KDnuggets网站的Poll持保留态度,但它的结果毕竟代表了某一类人群的使用偏好,尤其是在语言角度. 我们看排名前5位的语 ...

  3. R语言之数据处理

    R语言之数据处理 一.向量处理 1.选择和显示向量 data[1] data[3] data[1:3] data[-1]:除第一项以外的所有项 data[c(1,3,4,6)] data[data&g ...

  4. [3]R语言在数据处理上的禀赋——par参数详解(一)

    本文目录 公共参数列表 par 颜色相关 字体相关 字体大小相关 线条相关 符号相关 线条和符号大小相关 结束 本文首发:program-dog.blogspot.com 注1:本文也曾在csdn发布 ...

  5. R语言之数据处理常用包

    dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口:tidyr包的作者是Hadley ...

  6. R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 分箱法在实际案例操作过程中较为常见,能够将一些 ...

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

    前几天做BI Tabular表格模型的时候,数据中心核对数据发现模型展现数据比实际数据要多,经过核查之后,发现原来我是一个不经意,在做数据选取的时候,inner join的字段CITY_NAME_CN ...

  8. sql数据处理

    安装pymysql 读取数据库数据进行pandas操作,并用seaborn和matplotlib进行画图

  9. (转)R空间数据处理与可视化

    前言 很多朋友说在R里没法使用高德地图,这里给出一个基于leaflet包的解决方法. library(leaflet) # 添加高德地图 m <- leaflet() %>% addTil ...

随机推荐

  1. html <a>标签介绍

    <a href="javascript:void(0)" click="function(){}" />= a 标签样式     一组专门的预定义的 ...

  2. linux page table entry struct

    Page Table Entry The access control information is held in the PTE and is CPU specific; figure bit f ...

  3. 驱动程序多线程 PsCreateSystemThread

    内核函数PsCreateSystemThread负责创建新线程.该函数可以创建两种线程,一种是用户线程,它属于当前进程中的线程.另一种是系统线程,系统线程不属于当前用户进程,而是属于系统进程,一般PI ...

  4. bga

    本文记录在bga布线的难题. 1一开始就要预留好布线局域. 最近出现布线太密,修改时就麻烦了. http://bbs.elecfans.com/jishu_521995_1_1.html

  5. anu - children

    import { _flattenChildren } from "./createElement"; export const Children = { only(childre ...

  6. C#实现Access导入导出Excel

    一.Access从Excel中导入数据 .用到的Excel表的格式及内容 实现 [c-sharp] view plaincopyprint? OleDbConnection con = new Ole ...

  7. radio属性添加

    经常会遇到js控制radio选中和切换的问题 之前一直使用的是checked属性来完成的 但是现在发现这个属性有个大问题 今天就是用js给选中radio的赋值,使用的$().attr("ch ...

  8. HDU 3455

    http://acm.hdu.edu.cn/showproblem.php?pid=3435 同下题,只是这题是双向边,同时让我认识到了一个问题,一个图拆点做二分图完美匹配的本质是求该图环的并 htt ...

  9. Flume-NG源码阅读之SpoolDirectorySource(原创)

    org.apache.flume.source.SpoolDirectorySource是flume的一个常用的source,这个源支持从磁盘中某文件夹获取文件数据.不同于其他异步源,这个源能够避免重 ...

  10. 【opencv基础】imread-第二个参数

    问题1: 显示的是灰色的界面,不能正常显示图像. 解决方法:在imshow之后加上waitKey即可.原因here: Note:This function should be followed by ...