前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生信入门马拉松之R语言基础-函数和R包(day 4)

生信入门马拉松之R语言基础-函数和R包(day 4)

原创
作者头像
Crazy_George
发布2024-04-14 16:51:42
1810
发布2024-04-14 16:51:42
举报
文章被收录于专栏:R语言R语言

生信技能树

函数和R包

R包介绍(R packages)


  • R包是什么?

是多个函数打包存放,包含函数、数据、帮助文档、描述文件等。


  • 为什么装R包?

相应包可以实现特定分析功能!

  • 学一个R包要多久?伪命题

【小洁老师语录】目的不是学会某个具体的R包,而是找所有R包使用的规律


  • R包在哪里?

官方网站CRAN网站-安装方式install.packages("包名")

生物R包网站Bioconductor-安装方式BiocManager::install("包名")

Github-安装方式devtools::install_github("作者用户名/包名")

  • 不知道R包在哪里怎么办?

试安装命令

搜索引擎查R包关键词查找存放位置,然后用特定命令安装。

加载R包-library("R包")命令没有报错代表安装成功

library()和require()命令都可以加载R包。librar()和require()里加不加引号?不需要加引号

每次打开新的session,都需要重新加载R包


小洁老师语录密集轰炸来袭

【小洁老师语录】系统学习可以让你少问千万个问题 【小洁老师语录】能不能、行不行、二选一、两者区别等问题的统一解决办法:试一试、搜一搜、问问ChatGPT

  • kimichat(月之暗面):可以给它一篇文献,他可以读文献
  • 虫部落快搜(网站集成)
  • 猫狸盘搜/云盘搜索(涵盖很多网盘):搜索资源
  • bioinfoark:生物领域大模型

【小洁老师语录】高手是解决问题练出来的


  • 怎么实现快速下载?

使用国内镜像-推荐清华或中科大镜像-设置镜像即可-网址在day4的R脚本

  1. tools - global option -packages -primary CRAN repository中设置镜像,选择中科大或清华
  2. 代码设置-day4的R脚本中

清华镜像

CRAN清华镜像

bioconductor清华镜像

中科大镜像

CRAN中科大镜像

bioconductor中科大镜像

R包安装和使用逻辑

  • 安装-加载-使用包里的函数
  • 已经安装的包可以用::快速调用包里的函数 比如:pheatmap::pheatmap(volcano)library(pheatmap)+pheatmap(volcano)效果类似

如果后续长时间使用某个包,使用library()加载R包,如果只用一次,可以使用pheatmap::pheatmap(volcano)

  • if(!require(stringr))install.packages("stringr")#使用该代码,如果没有该包则安装。

as.logical(require(limma))#返回逻辑值

if(TRUE),后边代码被执行;if(FALSE),后边代码被跳过。

【小洁老师语录】R包安装成功的唯一标准:library()没有error,除了error其他都是浮云


  • 安装包练习:
代码语言:r
复制
if(!require(data.table))install.packages("data.table")
if(!require(rio))install.packages("rio")
if(!require(tibble))install.packages("tibble")
if(!require(ggplot2))install.packages("ggplot2")
if(!require(ggpubr))install.packages("ggpubr")
if(!require(eoffice))install.packages("eoffice")
if(!require(patchwork))install.packages("patchwork")
if(!require(tidyr))install.packages("tidyr")
if(!require(dplyr))install.packages("dplyr")
if(!require(stringr))install.packages("stringr")
if(!require(qlcMatrix))devtools::install_github("cysouw/qlcMatrix")
  • 安装过时包方法:
代码语言:r
复制
ad = "https://cran.r-project.org/src/contrib/Archive/qlcMatrix/qlcMatrix_0.9.7.tar.gz"
if(!require(qlcMatrix))install.packages(ad,repos = NULL)

疑问

package not available
  • 包名写错
  • 命令行错误
  • 可能R语言版本不适配(极少)
  • 包过时被剔除

【小洁老师语录】R语言版本99%情况下没有问题,但它总被无辜怀疑

是否更新包

能不更新就不更新,除非一直报错 安装命令加updata = F,ask = F两个参数就不会有询问命令行。

【小洁老师语录】学R语言要高冷,能no就no,no不行再yes;学Linux要听话,让你yes就yes

加载a包,报错b包不存在(a和b依赖包关系)

先装b包,再装a包

小规律:安装和加载过程中报错信息,注意看引号,引号里大多是依赖包的名字。

更新包:取消加载 > 卸载 > 重启session > 安装


关键词connection,internet,url,404,http,download等:网络限制-网络、镜像等

win电脑not waitable/permission denied:管理员方式打开Rstudio,重新运行。

win电脑中文用户名:修改环境变量

【小洁老师语录】大胆假设,小心求证,试错几乎没有成本 【小洁老师语录】一定要有验证、检查意识和能力

R包如何使用-查看帮助文档

代码语言:r
复制
test <- read.csv("exercise2.csv")

#我的答案(错误)
test[test$Species == c('a','c'),]#发生循环补齐,一对一比较,导致缺失

#正确答案

test[test$Species == 'a'|test$Species =='c',]#方法1
test[test$Species %in% c('a','c'),]#方法2
test[test$Species != 'b',]#方法3
##    Petal.Length Petal.Width Species
## 1           4.6         1.5       a
## 3           4.5         1.5       a
## 5           4.0         1.3       a
## 6           4.7         1.4       a
## 7           1.3         0.2       c
## 8           1.4         0.2       c
## 11          4.9         1.5       a
## 12          1.4         0.2       c
## 13          1.5         0.2       c
## 15          1.4         0.2       c

R包使用场景

  • 某些流程使用某些包
  • 学绘图,用到ggplot2
  • 别人代买自己数据套,报错不会改
  • 大多数包规律一致,不需要单独学习,用哪个函数学习哪个函数
  • 少部分包有自学语法,比如ggplot2,dplyr等

R包如何使用

  • 查看帮助文档
  • 搜索引擎搜R包介绍页面

ls("package:包名")该命令可以列出R包里的函数或数据


R语言里的符号

()前是函数

[]前是向量数据框或矩阵取子集

[[]]列表取子集

$数据框取子集,列表取子集

<-赋值

= 赋值,或连接形式参数和实际参数

==判断是否相等

!否定

{}多行代码

举例认清函数和数据

ggstatsplot是一个功能强大的作图R包,这里使用ggbetweenstats和ggbarstat函数举例做图。通过安装ggstatsplot包然后使用帮助文档学习怎么使用R包。

代码语言:r
复制
if(!require(ggstatsplot))install.packages("ggstatsplot")
library(ggstatsplot)#尝试装ggstatsplot的包,学习使用它
colnames(iris)
ggbetweenstats(iris,x = "Species",y = "Sepal.Length")
y
ggstatsplot包里的ggbetweenstats函数作图
ggstatsplot包里的ggbetweenstats函数作图
代码语言:r
复制
?ggbarstats#查看帮助文档

##ggbarstats的示例数据

# for reproducibility
set.seed(123)

# creating a plot
p <- ggbarstats(mtcars, x = vs, y = cyl)

# looking at the plot
p

# extracting details from statistical tests
extract_stats(p)
使用ggstatplot函数中的ggbarstats函数作图,数据源于示例文档
使用ggstatplot函数中的ggbarstats函数作图,数据源于示例文档

解决问题的思维


另外

代码语言:r
复制
source("04_other.R")#不打开脚本,全选运行!代码用的比较多的时候可单独放脚本,快速搬运运行!

生信技能树公众号

生信入门马拉松课程

小洁老师授课

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数和R包
    • R包介绍(R packages)
      • R包安装和使用逻辑
        • 疑问
          • package not available
          • 是否更新包
          • 加载a包,报错b包不存在(a和b依赖包关系)
        • R包如何使用-查看帮助文档
          • R包使用场景
            • R包如何使用
              • R语言里的符号
                • 解决问题的思维
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档