dplyr 数据操作 常用函数(5)
继续来了解dplyr中的其他有用函数
1、sample()
目的是可以从一个数据框中,随机抽取一些行,然后组成新的数据框。
sample_n(tbl, size, replace = FALSE, weight = NULL, .env = parent.frame())
sample_frac(tbl, size = 1, replace = FALSE, weight = NULL, .env = parent.frame())
从参数来看,sample输入数据是tbl格式,size表示抽取的个数,replace指的是能否重复抽取,weight指的是抽取比重。
另外,sample_frac是按照比例进行抽样。
下面来看些具体的例子
sample_n(mtcars, 10)
sample_n(mtcars, 20, replace = TRUE)
sample_n(group_by(mtcars,cyl), 3)
对数据分组后,再进行抽样是按照每组个抽取size个数的数据进行抽样。
sample_frac(mtcars, 0.1)
表示从数据从随机抽取1%的数据。
2、对两个数据集进行操作的函数
intersect(x, y, ...)
union(x, y, ...)
union_all(x, y, ...)
setdiff(x, y, ...)
setequal(x, y, ...)
intersect 用于求两个函数的交集部分数据,union求并集部分数据,union_all求两个数据集的合集,
setdiff求两个数据集差异部分,setequal判别两个数据集是否相同
下面来看些具体的例子
mtcars$model <- rownames(mtcars)
first <- mtcars[1:20, ]
second <- mtcars[10:32, ]
first 数据集打印结果
second数据集打印结果
intersect(first, second)
union(first, second)
setdiff(first, second)
setdiff(second, first)
这里值得注意的是,setdiff(first, second) 和 setdiff(second, first)的结果是不一样的。
setequal(mtcars, mtcars[32:1, ])
TRUE
3、slice()
按照具体数据所在行进行抽取数据,即定向抽取数据。
slice(.data, ...)
下面来看些具体的例子
slice(mtcars, 1L)
抽取第一行数据
slice(mtcars, n())
抽取最后一行数据
slice(mtcars, 25:n())
抽取第25行到最后一行数据
slice(group_by(mtcars, cyl), 1:2)
按照cyl分组后,每组抽取前两行数据
当然以上各组数据的抽取也可以用filter函数进行实现
filter(mtcars, row_number() == 1L)
filter(mtcars, row_number() == n())
filter(mtcars, between(row_number(), 5, n()))
3、tally()
用于统计数据行数
tally(x, wt, sort = FALSE)
count(x, ..., wt = NULL, sort = FALSE)
直接根据实例来观察这个几个函数的区别
tally(mtcars)
直接返回mtcars总行数。
count(mtcars)
也是返回mtcars总行数
tally(mtcars,cyl)
返回cyl列所有数据求和后的结果
count(mtcars,cyl)
返回每个cyl并统计每个值得个数。
tally(group_by(mtcars,cyl))
与上面count(mtcars,cyl)的效果一致。
tally(group_by(mtcars,cyl),mpg)
根据cyl分组后,对mpg进行求和
count(group_by(mtcars,cyl),mpg)
进行多次分组统计。
dplyr 数据操作 常用函数(5)的更多相关文章
- dplyr 数据操作 常用函数(4)
接下来我们继续了解一些dplyr中的常用函数. 1.ranking 以下各个函数可以实现对数据进行不同的排序 row_number(x) ntile(x, n) min_rank(x) dense_r ...
- dplyr 数据操作 常用函数(3)
接下了我们继续了解dplyr中有用的函数 1.if_else() if_else主要用于在数据做判断用 x<-data.frame(id=1:6, name=c("wang" ...
- dplyr 数据操作 常用函数(2)
继上一节常用函数,继续了解其他函数 1.desc() 这个函数和SQL中的排序用法是一样的,表示对数据进行倒序排序. 接下来我们看些例子. a=sample(20,50,rep=T)a desc(a) ...
- dplyr 数据操作 常用函数(1)
上面介绍完dplyr中,几个主要的操作函数后,我们再进一步了解dplyr中那些函数可能我们会经常要用到. 这里主要根据dplyr包作者的书籍目录来把它列出来. 1.add_rownames 添加行名称 ...
- php中文件操作常用函数有哪些
php中文件操作常用函数有哪些 一.总结 一句话总结:读写文件函数 判断文件或者目录是否存在函数 创建目录函数 file_exists() mkdir() file_get_content() fil ...
- go语言之进阶篇字符串操作常用函数介绍
下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...
- dplyr 数据操作 列操作(select / mutate)
在R中,我们通常需要对数据列进行各种各样的操作,比如选取某一列.重命名某一列等. dplyr中的select函数子在数据列的操作上也同样表现了它的简洁性,而且各种操作眼花缭乱. select(.dat ...
- C语言字符,字符串,字节操作常用函数
strlen 这个函数是在 string.h 的头文件中定义的 它的函数原型是 size_t strlen( const char ); size_t 是一个无符号整型,是这样定义的 typedef ...
- python学习笔记3.1_数据读取常用函数参数
一.read_table/read_csv常用函数参数 1.path:表明文件系统位置的字符串.url或文件型对象 2.sep或delimiter:用于分隔每行字段的字符序列或正则表达式 3.head ...
随机推荐
- js定义类或对象
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- IIS日志分析的作用
站长都知道有ISS日志,可是有很少人去关注它,也许你觉得在一些站长工具里面我们就能找到我们想要的工具,哪你就错了,我们的网站被收入靠的是蜘蛛,想要真正了解蜘蛛,就一定要好好重视iss日志分析,为什么这 ...
- 项目结构的设计(iOS篇)
项目结构的设计(iOS篇) 本文附带源码:YoungHeart-Chapter-02.zip 在设计任何一个框架之前,都应规划好项目结构. 假定Git作为我们的项目管理工具.我们要建立两个仓库,一个用 ...
- 基于“泵”的TCP通讯(接上篇)
基于“泵”的TCP通讯(接上篇) 上一篇博客中说了基于“泵”的UDP通讯,附上了一个Demo,模拟飞鸽传书的功能,功能不太完善,主要是为了说明“泵”在编程中的应用.本篇文章我再附上一个关于TCP通讯的 ...
- linuxmint 15/ ubuntu 13.04 install OpenERP client 6.0.4
As we all know OpenERP is a great open-source ERP/CRM project. It does help people a lot when workin ...
- C# ASP.net 入门之简单通讯录
简单通讯录功能虽然简单,却包括了制作一个网站的基本功能!各个模块可以作为新手入门的参考. 简单通讯录实现功能:1.登录 2.注册 3.后台管理 4.前台登录显示 5.创建联系人 6.密码修改 代码下载 ...
- 黑马程序员:Java基础总结----反射
黑马程序员:Java基础总结 反射 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 反射 反射的基石:Class类 Class类代表Java类,它的各个实例对象又分别 ...
- myeclipse乱码问题和 编码设置
A Myeclipse安装后编码默认是GB18030,外面的人一般推荐用UTF-8.如果在导入项目后发现乱码现象,那是编码设置设置不对. Eclipse 编码设置: 全局编码设置:编码设置的方法 ...
- Android ListView多布局讲解
Listview优化是一个老生常谈的事情了,其优化的方面也有很多种,例如,布局重用.在getView()中减少逻辑计算.减少在页面滑动的时候加在图片,而是在页面停止滚动的时候再加在图片.而今天要介绍的 ...
- 利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖
摇一摇JS脚本逻辑:接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下: if (win ...