dplyr包
5个基础函数
- mutate() 新增列
eg: mutate(文件名, new = 新参数) - select() 按列筛选
eg: select(文件名, 列名/列号) - filter() 筛选行
eg:filter(文件名,筛选条件)
filter(test, Species == "setosa")
filter(test, Species == "setosa"&Sepal.Length > 5 )
filter(test, Species %in% c("setosa","versicolor")) - arrange() 按某1列或某几列对整个表格进行排序
eg:arrange(文件名,列名)
arrange(test, desc(Sepal.Length)) desc降序排列 - summarise() 汇总 与group_by联用
eg:summarise(group_by(test, Species),mean(Sepal.Length),sd(Sepal.Length)) 按物种分类
dplyr两个实用技能
- 管道操作 %>% (cmd/ctr + shift + M)
eg:test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))
文件 %>% 命令1 %>% 命令2 - count统计某列的unique值
count(test,Species)
dplyr处理关系数据
- inner_join内连接,取交集
inner_join(数据集1, 数据集2, by = "变量") - left_join 左连
left_join(数据集1, 数据集2, by = "变量") 数据集位置有顺序 向数据集1中添加数据集2中的非公有部分 - full_join( test1, test2, by = 'x') 全联接 将两个数据集中的所有数据联接在一起
- semi_join 半连接 返回能够与y表匹配的x表所有记录semi_join
semi_join(x = test1, y = test2, by = 'x') - anti_join 反连接:返回无法与y表匹配的x表的所记录anti_join
anti_join(x = test2, y = test1, by = 'x') - bind_rows(数据集1,数据集2) 函数需要两个表格列数相同
bind_cols()函数需要两个表格列数相同