好巧 在学习课程之前自己先安装了Biocductor,想要安装chipseeker包,出现了一些问题;希望学完这个课程,能解决现在存在的问题。
* R包是多个函数的集合,具有详细的说明和示例。
* 学生信,R语言必学:丰富的图表和Biocductor上面的各种生信分析R包。
* 包的使用 一通百通(以dplyr为例学习R包)
* R平台细节:
* R version 4.0.3 (2020-10-10)
* Platform: x86_64-w64-mingw32/x64 (64-bit)
* 用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。
* 用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或
* 用'help.start()'通过HTML浏览器来看帮助文件。
* 用'q()'退出R.
安装和加载R包
1.镜像设置:两行代码()可以搞定;失败的话就每次需要下载R包时运行这两句代码即可。配置Rstudio的下载镜像(是CRAN的镜像)
(1)初级模式:设置流程tool-packages-primary CRAN repository(change)-Tsinghau
;下载Bioconductor的包,这个镜像是没有办法用的;通过options()$repos来检验 Rstudio是不是从CRAN去下载包。
(2)升级模式:自定义CRAN和Bioconductor的下载镜像,在Rstudio中进行设置:运行这两行代码
options函数就是设置R运行过程中的一些选项设置
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
#对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
#对应中科大源
(3) 高级模式:
R的配置文件 .Rprofile:.Rprofile就是一个代码文件,如果启动时找到这个文件,那么就替我们先运行一遍(这个过程就是在启动Rstudio时完成的
用file.edit()来编辑文件: file.edit('~/.Rprofile')
添加好上面👆的两行options代码:
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
保存=》
重启Rstudio,这时你再运行一下:options()BioC_mirror
配置完成
2.安装
联网
R包安装命令是install.packages(“包”)或者BiocManager::install(“包”);注 取决于要安装的包存在于CRAN网站还是Biocductor,存在于哪里?可以谷歌搜到。
加载
两个命令均可:
* library(包)
* require(包)
-
安装加载三部曲
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)
-
dplyr五个基础函数
dplyr包主要用于数据清洗和整理,主要功能有:行选择、列选择、统计汇总、窗口函数、数据框交集等;是非常高效、友好的数据处理包,大大提高数据处理及分析效率。
-
1.mutate(),新增列:
- mutate(test, new = Sepal.Length * Sepal.Width)
-
2. select(),按列筛选:
-
1)按列号筛选 :
select(test,1)--- test文件的第一列
select(test,c(1,5))--- test文件的第一和第五列
select(test,Sepal.Length) ---Sepal.Length这一列
-
2)按列名筛选:
select(test, Petal.Length, Petal.Width)----Petal.Length, Petal.Width的这两列
vars <- c("Petal.Length", "Petal.Width")
-
select(test, one_of(vars))
* 3.filter()筛选行【先固定列,再按行的元素筛选】
* filter(test, Species == "setosa") 筛选列 Species 中含setosa行
* filter(test, Species == "setosa"&Sepal.Length > 5 )筛选列 Species 中含setosa行。并且&Sepal.Length > 5
* filter(test, Species %in% c("setosa","versicolor")) 筛选前面一个向量Species 内的元素是否在后面一个向量中c("setosa","versicolor"); "setosa","versicolor" 就是一个筛选条件
* 4.arrange(),按某一列或某几列对整个表格进行排序
* arrange(test, Sepal.Length) # 默认从小到大排序
* arrange(test, desc(Sepal.Length)) # 用desc从大到小
* 5.summarise():汇总
* 对数据进行汇总操作,结合group_by使用实用性强
* summarise(test, mean(Sepal.Length), sd(Sepal.Length)) # 计算;Sepal.Length的平均值和标准差
先按照Species分组,计算每组Sepal.Length的平均值和标准差
group_by(test, Species)
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
dplyr两个实用技能
管道操作 %>% (cmd/ctr + shift + M)
test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))
count 统计某列的unique值
count(test,Species)
dplyr处理关系数据:即将2个表进行连接,注意:不要引入factor
1.內连inner_join,取交集
inner_join(test1, test2, by = "x")
2.左连left_join :
left_join(test1, test2, by = 'x') 依据text1的x取交集
left_join(test2, test1, by = 'x') 依据text2的x取交集,空值输出NA补全
3.全连full_join
full_join( test1, test2, by = 'x') ;full_join( test2, test1, by = 'x')
4.半连接semi_join:
返回能够与y表匹配的x表所有记录:semi_join(x = test1, y = test2, by = 'x')
5.反连接anti_join:
返回无法与y表匹配的x表的所记录:anti_join(x = test2, y = test1, by = 'x')
6.简单合并bind_rows():
相当于base包里的cbind()函数和rbind()函数;
注意,bind_rows()函数需要两个表格列数相同,
而bind_cols()函数则需要两个数据框有相同的行数