R语言dplyr包:高效数据处理函数case_when、inner/semi_join/anti_join、right/left_join@灵魂走风的江湖

R语言高效数据处理包

本篇为dplyr包实用函数的连载,主要为SQL数据库中类似功能的实现。

1、case_when函数,有一些SQL基础(case when,clickhouse中为multif函数)的都猜得到这个函数的功能

可实现多条件判断并可以添加标签的函数,这在我们对数据进行分类整理中十分的实用,这个函数中的参数可以这样分:一部分是判断条件,另一部分是所要做的标签

#%>%为管道函数,必会的函数
iris%>%select(Sepal.Length,Species)%>%
    mutate(sl_size=case_when(Sepal.Length<=5~"s",
        Sepal.Length>=6~"l",
        Sepal.Length>=5&Sepal.Length<=6~"m"))

2、一系列xx_join函数,这可是解决了不少问题,不用在数据库中捣来捣去(可以进行多个关键变量匹配by=c(var1=var2,var3=var4)

(这一系列函数的参数都是一样的,分别为:xxx_join(df1,df2,by=c(“x1”,“x2”)或者by=c(“x1”=“x2”)或者省略,但是省略后函数会使用两个数据集中公有的变量作匹配))

2.1 inner_join函数所得结果为df1、df2数据的交集;

2.2 semi_join函数所得结果为与inner_join类似,同样是求两个数据集的交集,
但semi_join只保留/返回前者与后者相匹配的数据;

2.3  anti_join函数返回的结果就与前面的函数反着了,它返回的是前者数据中与后者不匹配的数据;

2.4  right_join和left_join想必都不用多说了,
返回前者与后者相匹配的数据集及后者其本身、前者与后者相匹配的数据集及前者其本身。

这次也只写这么点哦,dplyr包常用的函数已经讲解的差不多了,希望大家都可以熟练运用。

这个函数还需要演示代码的话,想得美

是的,你想得美

iris_tag1 %>% 
    anti_join(iris_tag2,by=c("Species"="Species","tag1"="tag2"))

下一篇文章是关于R语言data.table包的函数

此包同样是一个非常强大的数据处理包,相比dplyr有时候效果更好。

  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LEEBELOVED

一分钱都是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值