dplyr 数据操作 数据过滤 (filter)

在R的使用过程中我们几乎都绕不开Hadley Wickham 开发的几个包,前面说过的ggplot2、reshape2以及即将要讲的dplyr

因为这几个包可以非常轻易的使我们从复杂的数据操作中逃离,操作过程简洁,最重要的是数据结果也异常简洁。

首先我们来了解下第一个函数filter()

filter(.data, ...)

参数很简单,只有data,即要操作的数据对象,其他都是数据操作条件。

下面看一些简单的例子

library(dplyr)
x<-data.frame(id=1:6,
              name=c("wang","zhang","li","chen","zhao","song"),
              shuxue=c(89,85,68,79,96,53),
              yuwen=c(77,68,86,87,92,63))dim(x)#查看数据行列属性

[1] 6 4  

x

filter(x,name=="zhang")

filter(x,shuxue>60,yuwen<90)

可以进行多条件筛选,条件可以用逗号隔开

filter(x,shuxue>80|yuwen<80)

多条件筛选,也可以用连接符&或| 进行连接。

相对而言,filter()还是比较简单,使用过程主要还是要看个人的灵活程度。

  

时间: 2024-12-17 22:25:10

dplyr 数据操作 数据过滤 (filter)的相关文章

hbase 基本的JavaApi 数据操作及过滤

本文主要是hbase的表操作.数据操作.数据查询过滤等,如果对JDBC或ADO有了解,容易理解HBASE API. hbase版本是2.0. 1.为了方便先贴helper的部分代码(文末git上有完整的测试代码),主要是为了复用Connection. public class HBaseHelper implements Closeable { private Configuration configuration = null; private Connection connection =

reshape2 数据操作 数据融合( cast)

我们在做数据分析的时候,对数据进行操作也是一项极其重要的内容,这里我们同样介绍强大包reshape2,其中的几个函数,对数据进行操作cast和melt两个函数绝对少不了. 首先是cast,把长型数据转换成你想要的任何宽型数据, dcast(data, formula, fun.aggregate = NULL, ..., margins = NULL, subset = NULL, fill = NULL, drop = TRUE, value.var = guess_value(data))

reshape2 数据操作 数据融合 (melt)

前面一篇讲了cast,想必已经见识到了reshape2的强大,当然在使用cast时配合上melt这种强大的揉数据能力才能表现的淋漓尽致. 下面我们来看下,melt这个函数以及它的特点. melt(data, ..., na.rm = FALSE, value.name = "value") 从这里来看函数的参数也相对比较简单,data表示要处理的数据,na.rm表示缺失值处理办法,value.name用于重命名值所在列的名称 另外,melt函数的难点在于,不同数据结构,用到的参数可能是

MySQL对数据操作的一些深入语法

其他数据操作 数据的操作也叫作crud: C:create R:read U:update D:delete 插入数据 蠕虫复制 就是在已有的数据的基础之上,将原来的数据进行复制,插入到相对应的表中! 语法规则: insert into 表名 select *|字段列表from 表名 注意: 当一个表中的数据复制到另一个表中的时候,需要注意数据的来源要与被插入的表的字段数量和类型要保持一致! 总结蠕虫复制的优点: 1, 可以以最快的速度复制另外一张表的数据 2, 在短期内产生大量的数据,以测试服

dplyr包--数据操作与清洗

1.简介 在我们数据分析的实际应用中,我们可能会花费大量的时间在数据清洗上,而如果使用 R 里面自带的一些函数(base 包的 transform 等),可能会觉得力不从心,或者不是很人性化.好在我们有其他选择.这里我们介绍 dplyr 包. 首先加载包: install.packages("dplyr") library(dplyr) 单表操作函数(one table verbs)如下: filter: 保留满足条件的行 select: 使用列名选出列 arrange: 对数据的所有

微信小程序 WXS实现json数据需要做过滤转义(filter)

前言 最近有在做小程序开发,在开发的过程中碰到一点小问题,描述一下先. 本人在职的公司对于后台获取的 json 数据需要做过滤转义的很多,不同的状态码会对应不同的文字,但是在微信小程序中又没有类似 vue 中的 | 方法进行快速的过滤,大都是用数据遍历洗数据来实现的,说实话,很麻烦,即使提取了公共方法那也麻烦,总之要洗数据就麻烦 WXS 为何物 在上代码之前先简单的介绍一下 WXS 是什么,以及和 javascript 有什么区别,虽然官方文档中都有,但我认为博客的存在意义就是尽量减少看官们的页

dplyr 数据操作 常用函数(4)

接下来我们继续了解一些dplyr中的常用函数. 1.ranking 以下各个函数可以实现对数据进行不同的排序 row_number(x) ntile(x, n) min_rank(x) dense_rank(x) percent_rank(x) cume_dist(x) 具体的看些例子. x <- c(5, 1, 3, 2, 2, NA) x row_number(x) row_number是对数据大小进行编号排序,遇到重复值,排序继续加1,缺失值不计入 min_rank(x) min_rank

Android适配器之DataModifyHelper数据操作类的封装

编写适配器代码时常常被以下几个问题所困扰: 1.业务层和适配器中对同一组数据进行维护,难以管理 2.在业务层针对数据进行修改后必须通知适配器更新,否则提示The content of the adapter has changed but ListView did not receive anotification 3.业务层修改数据时充斥大量的非空&数据标准化等冗余代码 针对前两个问题,可以将数据交由适配器去管理,业务层对数据的增删改查均通过适配器进行处理,这样仅需要维护好adapter中的数

ThinkPHP3.2基础教程(20)--模型-CURD操作-数据写入

ThinkPHP的数据写入操作使用add方法,使用示例如下: $User = M("User"); // 实例化User对象 $data['name'] = 'ThinkPHP'; $data['email'] = '[email protected]'; $User->add($data); 如果是Mysql数据库的话,还可以支持在数据插入时允许更新操作: add($data='',$options=array(),$replace=false) 其中add方法增加$repla