R语言入门学习笔记3——对结构性数据(表格)的处理(二): dplyr的使用

0. 开篇

这一系列是我学习R基础的笔记,它的特点是容易查找,当然也不太严谨。如果是想快速上手,或者喜欢通过多试代码而不是阅读的朋友,可以参考我的笔记。但是想要叙述更加完整的教程的话,更推荐我自己使用过的edX平台。

3. 对结构性数据(表格)的处理(二)

这一篇介绍dplyr包的使用。关于怎么导入数据到R当中请看我的上一篇<对结构性数据(表格)的处理(一)>,这里沿用上一篇的素材:
关于好莱坞最赚钱的故事的csv文件:
https://public.tableau.com/s/sites/default/files/media/HollywoodsMostProfitableStories.csv
文章不会用过多讲解,内容其实比较浅显,下面用一个个例子展示dplyr里面一些基本函数的用法.

3.5 处理列

3.5.0 准备

先安装并且声明使用dplyr包:

install.packages("dplyr")
library(dplyr)

3.5.1 select

假如我们要创建一个新的表格movies_perform概括电影的上映表现.同时,我也复习一下不用dplyr实现这一功能的两种方法,只不过dplyr使得命令更好写(特别在实现连续操作时):

movies_perform <- movies %>% select("Film",
                                    "Audience..score..",
                                    "Profitability",
                                    "Rotten.Tomatoes..",
                                    "Worldwide.Gross")
# 其一
movies_perform <- movies[,c("Film",
                           "Audience..score..",
                           "Profitability",
                           "Rotten.Tomatoes..",
                           "Worldwide.Gross")]
# 其二
movies_perform <- movies[c("Film",
                            "Audience..score..",
                            "Profitability",
                            "Rotten.Tomatoes..",
                            "Worldwide.Gross")]

3.5.2 select_if

# 选取所有数值类型的列
movies_numeric <- movies %>% select_if(is.numeric)
# 可以顺便看一下它们之间有没有线性关系
cor(movies_numeric)

3.5.3 mutate

# 建一列人民币计价的毛利润
movies %>% mutate(Worldwide.Gross_inRMB = Worldwide.Gross * 6.5)

3.6 处理行

3.6.1 filter

# 筛选毛利润大的电影
movies_numeric %>% filter(Worldwide.Gross > 100)
# 筛去有缺失的值的行
movies_numeric <- movies_numeric %>% filter_all(all_vars(!is.na(.)))
# 可以重新看一下它们之间有没有线性关系
cor(movies_numeric)
# 是不是结果完全不同了

功能很强大,详细的要看文档了

3.6.2 group_by

movies <- movies %>% filter_all(all_vars(!is.na(.)))
movies %>% group_by(Genre) %>% summarise(num = n(), mean_Worldwide.Gross = mean(Worldwide.Gross))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值