首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >生信技能树七天学习小组 Day6笔记——学习R包

生信技能树七天学习小组 Day6笔记——学习R包

原创
作者头像
可乐同学与生信死磕到底
发布于 2024-03-28 13:27:32
发布于 2024-03-28 13:27:32
3490
举报

呜呜今天是补昨天的内容 昨天临床任务太多只看了一下要学习的内容没有做笔记T T

1 安装和加载R包

1.1 镜像设置

1.2 安装

install.packages()/BiocManager::install()

取决于包是来源于CRAN网站还是Bioconductor

1.3 加载

library/require

代码语言:r
AI代码解释
复制
options("repos" = c(CRAN="[https://mirrors.tuna.tsinghua.edu.cn/CRAN/](https://mirrors.tuna.tsinghua.edu.cn/CRAN/)")) 
options(BioC\_mirror="[https://mirrors.ustc.edu.cn/bioc/](https://mirrors.ustc.edu.cn/bioc/)") 
install.packages("dplyr")
library(dplyr)

2 dplyr的五个基础函数

代码语言:r
AI代码解释
复制
test <- irisc(1:2,51:52,101:102),

2.1 mutate(),新增列

代码语言:r
AI代码解释
复制
mutate(test, new = Sepal.Length * Sepal.Width)

2.2 select(),按筛选

2.2.1 按列号筛选

代码语言:r
AI代码解释
复制
select(test,1)
select(test,c(1,5))

2.2.2 按列名筛选

代码语言:r
AI代码解释
复制
select(test, Petal.Length, Petal.Width)

2.3 filter()筛选行

代码语言:r
AI代码解释
复制
filter(test, Species **==** "setosa")
代码语言:r
AI代码解释
复制
filter(test, Species == "setosa"&Sepal.Length > 5 )
代码语言:r
AI代码解释
复制
filter(test, Species %in% c("setosa","versicolor"))

2.4 arrange()按照某1列/某几列对整个表格进行排序

arrange()默认从小到大排序

代码语言:r
AI代码解释
复制
arrange(test, Sepal.Length)

desc()从大到小排序

代码语言:r
AI代码解释
复制
arrange(test, desc(Sepal.Length))

2.5 summarise()汇总

对数据进行汇总操作,结合group_by使用实用性强

代码语言:r
AI代码解释
复制
summarise(test, mean(Sepal.Length), sd(Sepal.Length))
代码语言:r
AI代码解释
复制
group_by(test, Species)
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

3 dplyr的两个实用技能

3.1 管道操作 %>% (ctr + shift + M)

可以在 R 中使用管道运算符 ( %>% ) 将一系列操作“通过管道”连接在一起,该运算符最常与 R 中的dplyr包一起使用,以对数据帧执行一系列操作。

管道运算符只是将一个操作的结果传递到其下面的下一个操作。

使用管道运算符的优点是它使代码非常易于阅读。

https://statorials.org/cn/%E7%AE%A1%E5%AD%90/ https://blog.csdn.net/qq_45794091/article/details/127770633

代码语言:r
AI代码解释
复制
test %>% 
  group_by(Species) %>% 
  summarise(mean(Sepal.Length), sd(Sepal.Length))

3.2 count统计某列的unique值

代码语言:r
AI代码解释
复制
count(test,Species)

4 dplyr处理关系数据——将两个表进行连接

4.1 內连inner_join,取交集

代码语言:r
AI代码解释
复制
test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'))
test1
test2 <- data.frame(x = c('a','b','c','d','e','f'), 
                    y = c(1,2,3,4,5,6))
test2 

生成test1、test2两个数据框

代码语言:r
AI代码解释
复制
inner_join(test1, test2, by = "x")

4.2 左连 left_join

以左侧的那个数据框为准

4.3 全连 full_join

代码语言:r
AI代码解释
复制
full_join( test1, test2, by = 'x')

4.4 半连接:返回能够与y表匹配的x表所有记录semi_join

定义x表与y表

代码语言:r
AI代码解释
复制
semi_join(x = test1, y = test2, by = 'x')

4.5 反连接:返回无法与y表匹配的x表的所记录anti_join

定义x表与y表

代码语言:r
AI代码解释
复制
anti_join(x = test2, y = test1, by = 'x')

4.6 简单合并

bind_rows()函数需要两个表格列数相同

bind_cols()函数则需要两个数据框行数相同

代码语言:r
AI代码解释
复制
test1 <- data.frame(x = c(1,2,3,4), y = c(10,20,30,40))
test1
test2 <- data.frame(x = c(5,6), y = c(50,60))
test2
test3 <- data.frame(z = c(100,200,300,400))
test3
bind_rows(test1, test2)
bind_cols(test1, test3)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Day-6 香波🐟
6.简单合并:在相当于base包里的cbind()函数和rbind()函数;注意,bind_rows()函数需要两个表格列数相同,而bind_cols()函数则需要两个数据框有相同的行数
波小囡
2023/12/02
3220
Day-6 香波🐟
Day6——R包的学习
菜单栏-Tools-Packages-Primary CRAN repository-选择国内镜像
掩扉先生
2023/10/25
3050
``` 学习小组生信笔记——DAY6
用户10696411
2023/08/12
2580
生信入门 第六天
An R package is a set of R functions. Using dplyr as an example to learn R packages.
用户11153857
2024/06/12
2390
学习小组笔记Day06-RUI
教程:https://mp.weixin.qq.com/s/XvKb5FjAGM6gYsxTw3tcWw
RUI GU
2023/02/11
5900
Day6-R包
今天的内容在我刚看到的时候,觉得很难,看不懂每一步代码的意思,不知道是如何得到花花老师的结果的,但是在自己一步一步按照教程来进行操作,仔细比对前后的变化的时候,我对dplry包的使用有了更清晰的认识,这一部分内容需要自己多多练习,才能体会其中的含义。
用户11009106
2024/03/10
2510
宏宏的学习笔记Day6 学习R包
mutate(test, new = Sepal.Length * Sepal.Width)
咕咚咕叽
2024/04/19
2570
生信星球学习小组笔记 Day 6——LIU
其次,在Rstudio→Tools→Global options→Packages里面也能设置。
用户10360377
2023/12/03
2620
Day4-R包学习
将 CRAN 镜像地址设置为了清华大学的镜像站点。这样,在使用 R 语言安装或更新包时,系统会优先从清华大学的镜像站点下载,从而加快下载速度
昆兰
2024/05/10
2550
第6天生信学习笔记-微信公众号生信星球
R包是多个函数的集合,R语言必学的原因是丰富的图表和Biocductor上面的各种生信分析R包。
用户10986402
2024/02/25
2670
生信学习小组Day6笔记—Chocolate Ice
首先用file.edit('~/.Rprofile')打开.Rprofile文件;然后在.Rprofile文件内添加下列两行代码
Chocolate Ice
2023/01/16
1K0
学习R包
R包安装命令是install.packages(“包”)或者BiocManager::install(“包”)。取决于你要安装的包存在于CRAN网站还是Biocductor。
用户10845197
2023/11/29
3110
DAY6-学习R包
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
用户11039964
2024/03/27
2130
生信星球——生信入门DAY6:学习R包
(library() : library(package)将加载名为package的命名空间,并添加到包的搜索列表中。加载前对搜索列表进行检查并更新,如果package不存在则报错,如果之前已加载package,则不会重复加载。如没有参数package即library(),则列出lib.loc指定的库中的所有可用包。library(help=package)将返回package的基本信息。
用户10920326
2024/01/23
3850
Day6-橙子
用户11110663
2024/05/11
3290
Day6-橙子
Day6:学习R包
用户10859122
2023/12/03
3030
常用R包-dplyr
dplyr是一个在R语言中非常流行的数据处理包,它提供了许多功能强大且易于使用的函数,包括 select、 filter、mutate、arrange和summarize 等。这些功能使得dplyr成为数据清洗、处理和分析的首选包。
用户11076492
2024/04/18
1K0
DAY06-R包学习
靓且有猫
2024/06/16
3010
学习小组day6笔记-R包
all_of(): Matches variable names in a character vector. All names must be present, otherwise an out-of-bounds error is thrown.
清南
2023/04/13
4640
生信学习小组day6--大姚
上述一串代码意思是新增一列列名为“new”、数值是Sepal.Length * Sepal.Width的列
用户10340059
2023/02/11
1K0
相关推荐
Day-6 香波🐟
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档