R语言dplyr包初探
昨天学了一下R语言dplyr包,处理数据框还是很好用的。记录一下免得我忘记了... 先写一篇入门的,以后有空再写一篇详细的用法。
#dplyr learning
library(dplyr) #filter()
#选择符合条件的数据框的行,返回数据框
#Usage #filter(.data, ...) # ...为限制条件 #eg
filter(starwars, species == "Human")
filter(starwars, mass > 1000) # Multiple criteria
filter(starwars, hair_color == "none" & eye_color == "black")
filter(starwars, hair_color == "none" | eye_color == "black") # Multiple arguments are equivalent to and
filter(starwars, hair_color == "none", eye_color == "black") #默认为逻辑与 #arrange()
#给数据框排序
#Usage# #arrange(.data, ...) ## S3 method for class 'grouped_df'
#arrange(.data, ..., .by_group = FALSE) #eg
arrange(mtcars, cyl, disp) #先排cyl,再排disp
arrange(mtcars, desc(disp)) #desc() 降序 # grouped arrange ignores groups
by_cyl <- mtcars %>% group_by(cyl) # %>% 为管道函数,将左侧变量传给右侧函数的第一个参数
by_cyl %>% arrange(desc(wt)) #忽略分类,直接排序
# Unless you specifically ask:
by_cyl %>% arrange(desc(wt), .by_group = TRUE) #按照group分组排序 #select() # eg
iris <- as_tibble(iris) # so it prints a little nicer
select(iris, starts_with("Petal")) #选择以 'Petal' 开头的列
select(iris, ends_with("Width")) # Move Species variable to the front
select(iris, Species, everything()) df <- as.data.frame(matrix(runif(100), nrow = 10))
df <- tbl_df(df[c(3, 4, 7, 1, 9, 8, 5, 2, 6, 10)])
select(df, V4:V6) #切片
select(df, num_range("V", 4:6)) #这个还是好用的 # Drop variables with -
select(iris, -starts_with("Petal")) #去除以 'Petal' 开头的列 # The .data pronoun is available:
select(mtcars, .data$cyl) #这个用的不习惯
select(mtcars, .data$mpg : .data$disp) # Renaming -----------------------------------------
# * select() keeps only the variables you specify
select(iris, petal_length = Petal.Length) # * rename() keeps all variables
rename(iris, petal_length = Petal.Length) #重命名然后提取所有的列 #mutate() #添加新列
mtcars %>% as_tibble() %>% mutate(
cyl2 = cyl * 2,
cyl4 = cyl2 * 2
) mtcars %>% as_tibble() %>% mutate(
mpg = NULL, # 用 NULL 去除某列,类似于select 的 -
disp = disp * 0.0163871 # 对某列做运算
) # mutate() vs transmute --------------------------
# mutate() keeps all existing variables
mtcars %>%
mutate(displ_l = disp / 61.0237) # transmute keeps only the variables you create
mtcars %>%
transmute(displ_l = disp / 61.0237) #summarise()
#对 group_by 后的数据进行统计,这里以均值为例 mtcars %>%
summarise(mean = mean(disp), n = n()) mtcars %>%
group_by(cyl) %>%
summarise(mean = mean(disp), n = n()) mtcars %>%
group_by(cyl, vs) %>%
summarise(cyl_n = n(),mean_disp = mean(disp)) #这个分组统计很强大
R语言dplyr包初探的更多相关文章
- R语言扩展包dplyr——数据清洗和整理
R语言扩展包dplyr——数据清洗和整理 标签: 数据R语言数据清洗数据整理 2015-01-22 18:04 7357人阅读 评论(0) 收藏 举报 分类: R Programming(11) ...
- R语言 ggplot2包
R语言 ggplot2包的学习 分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...
- R语言-神经网络包RSNNS
code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...
- R语言-Knitr包的详细使用说明
R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...
- 安装R语言的包的方法
安装R语言的包的方法: 1. 在线安装 在R的控制台,输入类似install.packages("TSA") # 安装 TSA install.packages("TS ...
- R语言扩展包dplyr笔记
引言 2014年刚到, 就在 Feedly 订阅里看到 RStudio Blog 介绍 dplyr 包已发布 (Introducing dplyr), 此包将原本 plyr 包中的 ddply() 等 ...
- R语言数据处理包dplyr、tidyr笔记
dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口:tidyr包的作者是Hadley ...
- Bagging(R语言实现)—包外错误率,多样性测度
1. Bagging Bagging即套袋法,其算法过程如下: 从原始样本集中抽取训练集.每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次 ...
- R语言 arules包 apriori()函数中文帮助文档(中英文对照)
apriori(arules) apriori()所属R语言包:arules Mining Associations w ...
随机推荐
- c++(单词统计)
在面试环节中,有一道题目也是考官们中意的一道题目:如果统计一段由字符和和空格组成的字符串中有多少个单词? 其实,之所以问这个题目,考官的目的就是想了解一下你对状态机了解多少. (1) 题目分析 从题目 ...
- POI实现大数据EXCLE导入导出,解决内存溢出问题
使用POI能够导出大数据保证内存不溢出的一个重要原因是SXSSFWorkbook生成的EXCEL为2007版本,修改EXCEL2007文件后缀为ZIP打开可以看到,每一个Sheet都是一个xml文件, ...
- 教你理解微信小程序的生命周期和运行原理
转自:http://blog.csdn.net/tsr106/article/details/53052879 写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君 ...
- FtpUtil.java测试 (淘淘商城第三课文件上传)
首先在common-taotao中创建一个utils包,复制FtpUtil.java到其中.然后如下: @Test public void testFtpUtil() throws Exception ...
- [国嵌攻略][097][U-Boot新手入门]
嵌入式软件层次 1.Bootloader 2.Linux内核 3.文件系统 编译U-Boot 1.解压uboot tar zxvf uboot.tar.gz 2.清除uboot make distcl ...
- JVM GC杂谈之理论入门
GC杂谈之理论入门 JVM堆布局介绍 JVM堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old ).新生代 ( Young ) 又被划分为三个区域:Eden.From Sur ...
- console.log()的作用是什么
主要是方便你调式javascript用的.你可以看到你在页面中输出的内容. 相比alert他的优点是: 他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是co ...
- destoon 开启邮箱
- 邓_ecshop
=========================================== 版本错误: error_reporting(0); ============================== ...
- 深入理解final关键字以及一些建议
引子:一说到final关键字,相信大家都会立刻想起一些基本的作用,那么我们先稍微用寥寥数行来回顾一下. 一.final关键字的含义 final是Java中的一个保留关键字,它可以标记在成员变量.方法. ...