昨天学了一下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. 对于hive使用的一点记录

    最近一段时间因工作需要接触了一些hive上的使用!当然大部分都是比较基本的使用,仅当入门!各位看到有不足之处望多多指正! 废话不多说,开始: 首先是创建数据库 create database '数据库 ...

  2. 10个html5增加的重要新特性和内容

    文章开篇之前我们先了解一下什么是html5,百度上是这样定义html5的:万维网的核心语言.标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改. 其实说白了html5也就是人为定义 ...

  3. final、finally、finalize

    final是一个修饰词.可以修饰变量.方法.类 final修饰变量时分为两种 )1.修饰成员变量:该成员变量不可以被二次赋值.也就是说成员变量无法改变.且该成员变量要么在定义时初始化,要么在构造器中进 ...

  4. 我在vs文本编辑中常用的快捷键----常更新

    1. Ctrl+向上键----文本向上滚动  Ctrl+向下键----文本向下滚动  Ctrl+Enter-----向下增加一行  Ctrl+Shift+Enter-------向上增加一行 2. 避 ...

  5. JAVA:创建类和对象

    package duixiang; public class duixiang { /* * 类的实例化:创建对象 */ public static void main(String[] args) ...

  6. 配置国内PIP源方法

    python开发者都知道,当我们pip install安装扩展库的时候,经常遇到安装失败(超时)等,有时候是因为国外镜像被屏蔽了,带来不少麻烦, 随着国内python开发的增多,越来越多企业都开放了自 ...

  7. PHP defined() 函数

    定义和用法 defined() 函数检查某常量是否存在. 若常量存在,则返回 true,否则返回 false. 语法 defined(name) 参数 描述 name 必需.规定要检查的常量的名称. ...

  8. DEDECMS中的几个常见的自定义常量DEDEMEMBER等位置

    http://www.dede58.com/a/dedejq/3567.html dedecms新建栏目时默认都是允许投稿的,可以投稿本来对网站来说是件好事,但是dedecms是开源的,使用太广泛了, ...

  9. linux 下 tomcat 安装

    下载 根据已安装的jdk版本选择合适的版本,否则不兼容 https://tomcat.apache.org/whichversion.html 选择合适的压缩包 源码 二进制:已针对固定的操作系统和机 ...

  10. git只添加指定类型的文件的.gitignore规则

    #忽略根目录下的所有文件 * #忽略子目录下的所有文件 /* #包含目录 !*/ #指定不忽略的文件 !*.c !*.h #忽略根目录下的文件 /build/ /appveyor/ /pear/ /s ...