mutate()函数增加新变量并保留原变量;transmute()函数增加新变量并删除原变量,新变量覆盖原来重名变量。也可以设置变量值为NULL删除变量。

mutate 函数

# 定义测试数据框
data <- data.frame(x1 = 1:5,x2 = letters[1:5],x3 = 3)
# 显示内容 5行3列
> datax1 x2 x3
1  1  a  3
2  2  b  3
3  3  c  3
4  4  d  3
5  5  e  3

增加x4列,根据x1 、x2生成逻辑值 x4,我们需要指定逻辑条件:

# generate x4
data %>% mutate(x4 = (x1 == 1 | x2 == "b"))
# resultx1 x2 x3    x4
1  1  a  3  TRUE
2  2  b  3  TRUE
3  3  c  3 FALSE
4  4  d  3 FALSE
5  5  e  3 FALSE
# 通过设置x3=NULL删除 x3
data %>% mutate(x4 = (x1 == 1 | x2 == "b"), x3 = NULL)

也可以生成数值类型反应逻辑结果。只需要简单给条件乘以1:

data %>% mutate(x4 = (x1 == 1 | x2 == "b") * 1)
# resultx1 x2 x3 x4
1  1  a  3  1
2  2  b  3  1
3  3  c  3  0
4  4  d  3  0
5  5  e  3  0

transmute()函数

接着上面的测试数据

data <- data %>% mutate(x4 = (x1 == 1 | x2 == "b") * 1)
data %>% transmute(x3 = x1 + x4, .keep=c("x1","x2"))
# result
> data %>% transmute(x3 = x1 + x4)x3
1  2
2  3
3  3
4  4
5  5# 一次处理多个,并保留其他变量
data %>% transmute(x1=x1*2, x3 = x1 + x4, x4)
# resultx1 x3 x4
1  2  3  1
2  4  5  1
3  6  6  0
4  8  8  0
5 10 10  0

总结

通过示例对比mutate 和 transmute 函数,前者增加新列,也可以给列设置值NULL删除列; 后者保留同名的列,删除其他列,也可以指定变量保留对应的列。

dplyr包 mutate 和 transmute 函数相关推荐

  1. R语言dplyr包排序及序号函数实战(row_number、ntile、min_rank、dense_rank、percent_rank、cume_dist)

    R语言dplyr包排序及序号函数实战(row_number.ntile.min_rank.dense_rank.percent_rank.cume_dist) 目录 R语言dplyr包排序及序号函数实 ...

  2. R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向前移动一天(设置参数n为正值)

    R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向前移动一天(设置参数n为正值) 目录

  3. R语言dplyr包:高效数据处理函数(filter、group_by、mutate、summarise)

    R语言dplyr包的数据处理.分析函数 在日常数据处理过程中难免会遇到些难处理的,选取更适合的函数分割.筛选.合并等实在是大快人心! 利用dplyr包中的函数更高效的数据清洗.数据分析,及为后续数据建 ...

  4. R语言dplyr包超完整版函数指南

    R语言dplyr包的使用 一.常用函数功能速查 二.常用函数详解 iris数据集 1. 取子集 filter/distinct slice select 2. 窗口函数 3. 连接合并 left_jo ...

  5. R语言中的countif——dplyr包中的filter函数和nrow

    今天一早上起来又扑到R上面写笨人的matlab课作业(悲),脑壳一整个晕晕--这份作业是我用R语言从CHIP数据库提取数据,做前期数据处理和变量计算,之后给同组的建模的同学,让她用matlab建模. ...

  6. R语言dplyr包:高效数据处理函数arrange、sample_n、n_distinct、select、compute等

    今天是个特别的日子,小编在这里祝大家情人节快乐!本篇文章继续之前文章提到的关于dplyr包数据处理的函数.错了,小编是准备那天发的,忘发了 R语言在数据整理.分析上面的方法是很多的,并且通俗易懂,相信 ...

  7. R语言dplyr包中的filter函数

    R语言日常笔记(1)filter函数 经常忽略的两个用法 1.单列多因素 挑选city列为武汉市和month列为1:5或9:12(观测值) > ms_wh <- filter(ms_dat ...

  8. R语言dplyr包filter函数 Error in filter(., ) : 找不到对象的报错原因和解决办法

    报错描述 当我们想使用dplyr包中的 filter 函数对指定的dataframe进行如下的行筛选时,R报错Error in filter(., ) : 找不到对象X.stage_id. ,提示我们 ...

  9. R语言dplyr包学习笔记(吐血整理宇宙无敌详细版)

    出处:AI入门学习 dplyr包主要用于数据清洗和整理,主要功能有:行选择.列选择.统计汇总.窗口函数.数据框交集等是非常高效.友好的数据处理包,学清楚了,基本上数据能随意玩弄,对的,随意玩弄,简直大 ...

  10. 【转载】R语言dplyr包学习笔记(吐血整理宇宙无敌详细版)

    出处:AI入门学习 dplyr包介绍 dplyr包主要用于数据清洗和整理,主要功能有:行选择.列选择.统计汇总.窗口函数.数据框交集等是非常高效.友好的数据处理包,学清楚了,基本上数据能随意玩弄,对的 ...

最新文章

  1. 高压放电与防静电塑料包装
  2. matlab 如何定义符号数组
  3. JAVA面向对象程序设计(第二版) 袁绍欣 第四章答案
  4. xgboost参数_XGBoost实战和参数详解
  5. c语言入门数据类型详解,C语言的基本数据类型入门教程
  6. Python中的lambda表达式与filter函数
  7. 矩阵论复习笔记:矩阵直积及其应用
  8. 是什么破除了Kubernetes网络难关,拯救了无数云原生时代的开发者?
  9. [转]python 正则匹配中文
  10. 2021年茶艺师(中级)考试及茶艺师(中级)考试题
  11. Python Pygame实战之打地鼠小游戏
  12. 约分最简分式 (15 分)
  13. 亚马逊账号关联怎么办?多账号如何自查?
  14. Vuex前端saas人力资源中台管理项目第四天 员工管理模块
  15. chai断言库学习-API(expect部分)
  16. WIN7 32位 SP1 安装VS2010失败,解决过程记录
  17. 连接VPN访问内网时保证外网不受影响的网络设置
  18. 英伟达jetson NANO开箱
  19. 笔记一:Dreamware的页面转格式到Visual Studio
  20. BNUOJ--19139 PvZ once again

热门文章

  1. android 百度地图大头针,百度地图API 地理位置获取和大头针显示当前位置
  2. Linux搭建小型服务器——文件共享以及邮件服务器
  3. 网络通信中 TCP 产生 RST 的三个条件分析
  4. PCIE数据采集软件使用
  5. switch结构详解
  6. 经典网络-InceptionV1论文及实践
  7. 个人公众号,用于开发经验分享
  8. Ada的故事(转自互联网)
  9. 入门神经网络优化算法(六):二阶优化算法K-FAC
  10. Excise_day03