推广

R语言dplyr包处理数据2021.3.6

iseeyu3年前 (2024-02-21)推广138

图1 筛选结果

2.2 去除重复行–distinct函数

dplyr::distinct(rbind(iris[1:10,],iris[1:20,]))#取出前10行和前20行合并后去除重复行

图2 去除结果

2.3 取出任意行–slice函数

slice函数取出的数据不包含行名,旧版本如果想用slice取出包含行名的数据则可以使用mutate函数
l例如mtcars<-mutate(mtcars,names=rownames(mtcars)),但是新版本的包已经包含行名。

dplyr::slice(iris,10:16)#取出10到16行数据

图3 取出行数据

2.4 随机抽取n行数据–sample_n函数

dplyr::sample_n(iris,10)#随机抽取10行数据

图4 随机抽取10行数据

2.5 按比例随机选取数据–sample_frac函数

dplyr::sample_frac(iris,0.3)#按比例随机抽取数据,抽取原数据的30%

图5 按比例随机选取数据

2.6 对数据进行排序–arrange函数

desc是改变默认排序规则

dplyr::arrange(iris,Sepal.Length)#将Sepal.Length列进行从小到大排序
#dplyr::arrange(iris,desc(Sepal.Length))#方法一:将Sepal.Length列进行从大到小排序
#dplyr::arrange(iris,-Sepal.Length)#方法二:将Sepal.Length列进行从大到小排序

图6 将Sepal.Length列进行排序

2.7 对数据取子集–select函数

比R自带的subset函数更好用

2.8 对数据进行统计计算–summarise函数

dplyr::summarise(iris,avg=mean(Sepal.Length))#对Sepal.Length这一列进行平均数计算
dplyr::summarise(iris,sum=sum(Sepal.Length))#对Sepal.Length这一列进行求和计算

2.9 对数据进行分组–group_by函数

dplyr::group_by(iris,Species)#方法一:按属种不同将数据分为三组
#iris %>% group_by(Species)#方法二:按属种不同将数据分为三组
#iris %>% group_by(Species) %>% summarise(Sepal.Length.avg=mean(Sepal.Length))#用管道函数将分好组后的数据求出各组的Sepal.Length的平均值
#iris %>% group_by(Species) %>% summarise(Sepal.Length.avg=mean(Sepal.Length)) %>% arrange(-Sepal.Length.avg)#将平均值从大到小排序

图7 分组以及计算均值结果

图8 均值排序结果

2.10 添加新的列向量–mutate函数

dplyr::mutate(iris,new=Sepal.Length+Petal.Length)#将花萼和花瓣长度相加后的值赋值给new变量,并添加到数据框中

图9 添加新列

3. 链式操作符%>%

两个百分号中间夹着一个大于号,称为链式操作符,它功能是用于实现将一个函数的输出传递给下一个函数,作为下一个函数的输入。类似于Linux系统中的管道函数。在Rstudio中可以使用ctrl +shift+M快捷键输出出来。

head(mtcars,20) %>% tail(10)#先取出mtcars数据集中前20行,紧接着取这前20行数据的后10行

在dplyr中经常使用这个符号。

4. 对双表格操作

操作的内容主要就是将两个表格的内容进行整合

4.1 左连接(left_join),右连接(right_join),内连接(inner_join),全连接(full_join),反连接(semi_join)和半连接(anti_join)

a=data.frame(x1=c("A","B","C"),x2=c(1,2,3))
b=data.frame(x1=c("A","B","D"),x3=c(T,F,T))
dplyr::left_join(a,b,by="x1")
dplyr::right_join(a,b,by="x1")
dplyr::inner_join(a,b,by="x1")#取x1列的交集
dplyr::full_join(a,b,by="x1")#取x1列的并集
dplyr::semi_join(a,b,by="x1")#根据右侧表的内容对左侧表进行过滤,输出出a中与b的交集部分
dplyr::anti_join(a,b,by="x1")#根据右侧表的内容对左侧表进行过滤,输出出a中与b的补集部分

4.2 取交集(intersect),取并集(union_all),取非冗余的并集(union),取补集(setdiff)

first <- slice(mtcars,1:20)#取mtcars数据集前20行
second<-slice(mtcars,10:30)#取mtcars数据集第10到第30行
dplyr::intersect(first,second)#取两者交集
dplyr::union_all(first,second)#取两者并集,包含重复
dplyr::union(first,second)#取两者并集,去除重复
dplyr::setdiff(first,second)#取出first集合中去除与second交集的部分

图10 setdiff函数

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/57543.html

相关文章

西安企业做百度推广,一个月花三千和花三万到底差在哪?

4|最近跟几个西安的老板聊天,发现一个挺有意思的现象:同样做百度推广,有人一个月花三千块,询盘不断;有人一个月砸三万,水花都没见着。问他们区别在哪,大多数人说不清楚,只知道'钱花了,没效果'。 5| 6|百度推广这东西,说复杂也复杂,说简单也简单。核心就一件事:让你的潜在客户搜某个词的时候,你的信息...

我想当策划,大学应该选什么专业?

我想当策划,大学应该选什么专业?

学,广告,传播,公关,这些专业其实都可以。另外也可以学像汉语言文学,以及一些跟文学相关的一些专业,会对你找工作有帮助。但是,你想从事这个这份职业,除了专业的学习之外,更多的是,你要在上学的时候积极参与一些更营销策划相关的社会实践。比如说你可以做一些兼职,比如说帮别人去写稿,...

服装市场营销策略分析,“定位不慎满盘皆输”

服装市场营销策略分析,“定位不慎满盘皆输”

不同的区域需要不同的策略,而不同的营销策略需要不同的销售思路来配合。因此,在研究女装产品销售思路之前,最好先对于市场与营销策略做一次深入地了解。1.市场区域化(market segmentation):目标营销的第一步,是将整个市场拆分成若干个同性质的小市场。2.目标市场的...

晚间悦读丨你的思维方式,决定你的人生高度!

晚间悦读丨你的思维方式,决定你的人生高度!

越长大,越发现,能够决定你人生高度的,往往是你的认知层次。 你的认知在哪个层级,你的人生就处在什么状态。你认知的高度,决定了你人生的高度。 那如何才能升级方式、提升认知能力呢?可以从这三个方面做出改变。 NO. 1 改变态度 有人...

编写项目营销策划方案六大要点

编写项目营销策划方案六大要点

现在商业发展非常迅速,的需求非常的大,但是要做好营销策划是有一定难度的,我把自己做营销策划的一些体会在这里分享给朋友们。营销策划方案六大要点我们先说项目营销策划方案这个话题。大部分的营销策划人都是在企业里工作,大部分项目之初都是来源于一个想法,创始人、老板或者创始团队的一个...

【商场营销策划】如何进行商场营销策划?

【商场营销策划】如何进行商场营销策划?

商场是策划者们关注的永恒话题,那么究竟该如何作好商场营销策划呢?掌握以下这几点营销策略设计原则,至关重要!1.义利兼顾的原则。商场在获取利润的同时要充分考虑到消费者的合法利益和商场的长远利益。在作商场活动营销策略方案的时候应该将这一点作为首要的原则。对商场有利而对顾客不利的...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片