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 ...
随机推荐
- SpringMVC框架学习笔记(1)——HelloWorld
搭建SpringMVC框架 1.添加jar包 jsp-api.jar servlet-api.jar jstl.jar commons-logging-1.1.1.jar spring-beans-4 ...
- UEP-树和表
Model Select:表格要展示的数据Tree DataSource:树的数据源数据源是自定义java类实现接口:ITreeRetriever创建根节点.判断子节点.创建子节点 --数据源 pac ...
- 【Zigbee技术入门教程-号外】基于Z-Stack协议栈的抢答系统
[Zigbee技术入门教程-号外]基于Z-Stack协议栈的抢答系统 广东职业技术学院 欧浩源 一.引言 2017年全国职业院校技能大赛"物联网技术应用"赛项中任务三题2的 ...
- bat复制文件夹下所有文件到另一个目录
一个需求,网上了半天都是错了,所以记一下吧,方便你我. copy是文件拷贝,文件夹拷贝需要用到xcopy @echo off::当前盘符set curPath=%cd%set digPath =&qu ...
- phpmailer的SMTP ERROR: Failed to connect to server: 10
请问,我在win7上学习使用phpmailer时,出现这种错误怎么处理啊? SMTP ERROR: Failed to connect to server: (0) SMTP connect() fa ...
- JDK、JRE、JVM详解
JDK.JRE.JVM JDK包含JRE,而JRE包含JVM JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java ...
- AVAudioPlayer与MPMusicPlayerController的区别
播放在App中的音频时,使用AVAudioPlayer 播放音乐库中的文件时,使用MPMusicPlayerController
- ios开发 第三天
1.复合 对象可以引用其它对象,可以利用其它对象提供的特性. 通过包含作为实例变量的对象指针实现的. 2.OC是单一继承 3.继承-重构 4.类实例化对象时,self指向了对象的首地址. 类对象isa ...
- Hystrix-request cache(请求缓存)
开启请求缓存 请求缓存在run()和construce()执行之前生效,所以可以有效减少不必要的线程开销.你可以通过实现getCachekey()方法来开启请求缓存. package org.hope ...
- jQuery给input绑定回车事件
dataInput为Span元素ID <script type="text/javascript" src="Scripts/jquery-1.6.2.js&quo ...