ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mutate()为入口 管道符操作数据

2021-12-07 14:00:33  阅读:193  来源: 互联网

标签:mutate name 入口 keep 管道 mass df% species


mutate()添加新变量列,保留之前。注:如果没有赋予新值,则在原列基础操作,这种情况多在管道符。

transmute() 添加新变量列,并删除现有列。

当与现有具相同变量名,则会覆盖现有变量名

 

强在通过管道符来实现多个计算。

1.搭配group,计算本变量在分组内的平均值。

> starwars%>% + select(name,mass,species)%>%

+ group_by(species)%>%

+ mutate(mass_norm=mass/mean(mass,na.rm=TRUE)) # 下图,前者除以在对应观测分组内均值,后者处以所有观测值均值。

 

 

 

2 通过设置.before,.after参数设置新增列位于正数(倒数)第几列如: df2 %>% mutate(z = x + y,.before=1)

 

3 还可以设置保留输入列/非输入列。如

 df <- tibble(x = 1, y = 2, a = "a", b = "b") # tibble是tidyverse的新数据类型,是data.frame的子类型。

 df%>%mutate(z=x+y,.keep="all") #默认,原所有列都包含。

 df%>%mutate(z=x+y,.keep="used") #只保留用到的x,y以及新增的z列

df%>%mutate(z=x+y,.keep="unused")# 只保留没用大的a,b和新增的z列

df%>%mutate(z=x+y,.keep="none") #只保留新增的z列。

 

 

4  tidyverse包的across()函数强大在对多列运行函数。常配合muate()对多列处理。如:

> starwars%>%

  + select(name,homeworld,species)%>%

  + mutate(across(!name,as.factor))#对他两列转换成factor

 

 

 

 

 

 

 

标签:mutate,name,入口,keep,管道,mass,df%,species
来源: https://www.cnblogs.com/koujiaodahan/p/15655769.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有