昨天学了一下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包初探的更多相关文章

  1. R语言扩展包dplyr——数据清洗和整理

    R语言扩展包dplyr——数据清洗和整理 标签: 数据R语言数据清洗数据整理 2015-01-22 18:04 7357人阅读 评论(0) 收藏 举报  分类: R Programming(11)  ...

  2. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  3. R语言-神经网络包RSNNS

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  4. R语言-Knitr包的详细使用说明

    R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...

  5. 安装R语言的包的方法

    安装R语言的包的方法: 1. 在线安装 在R的控制台,输入类似install.packages("TSA")  # 安装 TSA install.packages("TS ...

  6. R语言扩展包dplyr笔记

    引言 2014年刚到, 就在 Feedly 订阅里看到 RStudio Blog 介绍 dplyr 包已发布 (Introducing dplyr), 此包将原本 plyr 包中的 ddply() 等 ...

  7. R语言数据处理包dplyr、tidyr笔记

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

  8. Bagging(R语言实现)—包外错误率,多样性测度

    1.      Bagging Bagging即套袋法,其算法过程如下: 从原始样本集中抽取训练集.每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次 ...

  9. R语言 arules包 apriori()函数中文帮助文档(中英文对照)

    apriori(arules) apriori()所属R语言包:arules                                         Mining Associations w ...

随机推荐

  1. 阻止浏览器冒泡事件,兼容firefox和ie

    //得到事件 function getEvent(){ if(window.event) {return window.event;} func=getEvent.caller; while(func ...

  2. html日历(2)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 腾讯云中ssL证书的配置安装

    https://cloud.tencent.com/document/product/619/12797 配置 Nginx 和 HTTPS 完成以上准备工作,就要开始配置 Nginx 和 HTTPS ...

  4. tp路由+伪静态+去掉index.php

    浏览:10536 发布日期:2013/10/08 分类:技术分享 关键字: 路由 伪静态 去掉index.php 之前一个网友说能不能达到这样的效果,www.olcms.com/news/id.htm ...

  5. 一键批量打印EXCEL、WORD文档

    一键批量打印EXCEL.WORD文档,本方法也可以打印同一个文档N份,可以批量打印A3.A4文档,包括单.双面打印等.希望能帮到广大朋友.请大家注重原创版权,不得在未经许可的下转载.传播,或者用来对同 ...

  6. 微信小程序学习笔记

    一.文件结构解析 pages文件夹: 书写各个页面代码以及组件.内部js文件书写js ;  wxml文件为HTML ;   wxss文件为css样式 : json文件为配置当前页面的默认项,如titl ...

  7. destoon 开启邮箱

  8. Code4 APP

    MJExtension 斯坦福大学公开课

  9. jQuery学习笔记一

    一.jQuery版本兼容 jQuery版本2以上不支持IE6,7,8浏览器. 如果需要支持IE6/7/8,那么请选择1.9 同样还可以通过条件注释在使用IE6/7/8时只包含进1.9 <!--[ ...

  10. Unix/Linux命令:FTP

    在Unix/Linux系统中,ftp命令用来实现客户机和远程主机之的文件传输. 语法:ftp [-Apinegvtd] [hostname] 参数:-p : 传输文件模式为被动模式-i : 关闭交互模 ...