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"))