入门学习day6笔记——阿锐

echo " Hello dplyr. "
Hello dplyr. 

上思维导图——


day6 R包

R包

R包是多个函数的集合,具有详细的说明和示例。

一、安装和加载R包

1.配置国内镜像

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源

你还在每次配置Rstudio的下载镜像吗? (qq.com)

2.安装

install.packages(“包”)

BiocManager::install(“包”)

3.加载

library(包)

require(包)

4.以dplyr为例的全过程

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") 
install.packages("dplyr")
library(dplyr)

test <- iris[c(1:2,51:52,101:102),] #示例数据

二、dplyr五个基础函数

1.mutate():新增列

mutate(test, new = Sepal.Length * Sepal.Width)相比原test新增new列

mutate

2.select():按列筛选

(1)按列号筛选
select(文件,列号)
列号表述形式与之前相同。
(2)按列名筛选
select(文件,列名)
多列名间用逗号分割。

one_of():声明选择对象

select

3.filter():筛选行

filter(test, Species == "setosa"&Sepal.Length > 5 )
多个筛选条件间用&连接

fliter

4.arrange():按某1列或某几列对整个表格进行排序

arrange(test, 参照列)
默认排序为参照列从小到大,用desc(列名)改为从大到小

arrange

5.summarise():汇总

summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
mean():计算某列平均值
sd():计算某列标准差
group_by(文件,列名):按照列名分组

summarise
summarise结合group_by

三、dplyr两个实用技能

1、管道操作:%>% (快捷键cmd/ctrl + shift + M)

需要提前library(tidyverse)加载tidyverse包。
与linux中|管道相似,将管道前操作的输出信息,变成管道后操作的输入信息。

管道

2、count:统计某列的unique值

count(文件,列名)

count

四、dplyr处理关系数据

test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'),
                    stringsAsFactors = F)

test2 <- data.frame(x = c('a','b','c','d','e','f'), 
                    y = c(1,2,3,4,5,6),
                    stringsAsFactors = F)
test1

test2

先定义两个表test1和test2。

stringsAsFactors=F:“在读入数据时,遇到字符串之后,不将其转换为factors,仍然保留为字符串格式”

1.內连 inner_join:取交集行
by = '链接列'

保留交集行

2.左连 left_join:取前者表格的行


保留test1的行

保留test2的行

3.全连 full_join:取并集行


保留所有行

4.半连接 semi_join:取x与y交集行 对应的x表数据


交集行 b e f

5.反连接 anti_join:取x与y非交集行 对应的x表数据


非交集行 x
非交集行 a c d

6.简单合并
等于base包的cbind()函数和rbind()函数。

条件:
bind_rows()函数:两个表格列数相同。(上下结合)
bind_cols()函数:两个数据框有相同的行数。(左右结合)

test1

test2

test3
bind_rows()
bind_cols()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容