R语言数据整理之tidyverse(中级操作)

今天分享一下tidyverse中数据整理的中级操作
至于初级操作呢(join,arrange等),就不分享了。

1.拆分列,合并列

拆分

mtcars %>% separate(mpg,into = c("A","B"),sep = ".",
convert = T)

合并

mtcars %>% unite(new,mpg,cyl,sep="___")
2.重命名

下面是几种常用的方法

1. set_names()   #所有列名重命名
2. mtcars %>% rename(aa=cyl,bb=disp)#具体列重命名!
3. names(data)=c("a","c")#所有列名重命名
4. colnames(data)[2]="a" # 第二列重命名为a
5. rownames(a)=a[,1]#第一列改为行名
3.新列
1.mtcars %>% mutate(across(where(is.numeric),scale))
#数字列标准化
2.across(选列,函数)#这个函数意思是选择的列用于某函数,和
mutate函数配合用
4.筛选行filter,我认为这是dplyr中最重要的函数
1. mtcars %>% filter(if_all(3:4,~.x>200))
#3:4选列,每个值都大于200
2. data %>% filter(if_all(everything(),~!is.na(.x)))
#所有列观测值全部非NA
3. data %>% filter(if_any(everything(),~ str_ detect(.x,"bl")))
#存在bl的行
4. mtcars %>% filter(if_any(where(is.numeric),~.x > 260))
#存在大于260的行
4. 添加标签or生成新列
1. mtcars %>% mutate(new=if_else(cyl<5,"small","big"))
#适合于分两类的情况
2. 适合于分多类的情况
mtcars %>% 
mutate(new=case_when(mpg<10~"small",
                        mpg>=10&mpg<20~"middle",
                        mpg>20~"big"))
3. 除了简单标记外,case_when还有更高级的用法,将~后使用函数生成新列
先定义三个函数
f1=function(x){x^2}
f2=function(x){x^3}
f3=function(x){x^4}

这个函数真的很实用,希望大家都能了解到它的强大

mtcars %>% mutate(new=case_when(mpg<10~f1(mpg),
                                mpg>=10&mpg<20~f2(mpg), 
                                mpg>20~f3(mpg))) 
4. 自定义分组频数统计
mtcars %>% group_by(new=cut(disp,breaks =c(0,100,200,300,500),
right = FALSE)) %>%count()

今天就先分享到这,格式有点乱,大家凑合着先看看吧~
希望大家关注我的个人公众号“森林生态小小圈”,我会不定期更新一些R语言,和生态学方面的东西,谢谢大家~
森林生态小小圈 最后,祝大家五一快乐~

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值