R语言基础--函数和R包安装

生物技能树(R第四节)


首先双击打开R_02.Rproj
02_rpackages.R

一、函数与参数

1.形式参数与实际参数

在这里插入图片描述

2.写函数的函数

#function:创造别的函数
在这里插入图片描述
在这里插入图片描述

3、复习:绘图函数plot()

在这里插入图片描述

给向量画图:
在这里插入图片描述

相同的代码,不同的数据画图

用iris的前四列,每一列画一个点图:
在这里插入图片描述

用函数代替复制粘贴

在这里插入图片描述
在这里插入图片描述

4.练习

在这里插入图片描述
答案:
1.A,C,E
2.

> jimmy <- function(a,b=2,m=1){a^b-1}
> jimmy(a=5)
[1] 24

二、R包(R package)

1.R包介绍

  1. 多个函数的打包存放
  2. 包含数据、函数,帮助文件、描述文件等
  3. 为什么需要安装R包(特定的分析功能,需要用相应的包实现)
  4. 伪问题:学一个R包要多久?
    在这里插入图片描述
##在不打开脚本的情况下,全选运行它
在R语言中,source() 函数用于读取一个R脚本文件(通常是以 .R 为扩展名的文本文件),并逐行执行该文件中的代码。这使得你可以将一段代码或多个函数保存在一个文件中,然后在其他R脚本或R会话中调用这个文件,而不必重新输入所有代码。

函数的基本语法如下:

source(filename)
这里的 filename 是要执行的R脚本文件的路径和名称。如果文件在当前工作目录中,你只需要提供文件名;否则,你需要提供完整的路径。

例如,如果你有一个名为 myscript.R 的文件,它包含了一些R代码或函数定义,你可以使用以下命令在R会话中执行这个文件的内容:

source("myscript.R")
如果 myscript.R 文件位于不同的目录,例如在 /home/user/Rscripts 目录下,你需要提供完整的路径:

source("/home/user/Rscripts/myscript.R")

2.R包安装

1.CRAN网站

安装命令:

install.packages()

2.Bioconductor

需要先安装BiocManager这个R包,然后使用BiocManager::install(“R包名字”)函数
安装命令:

旧命令:BiocInstaller::biocLite()
新命令:BiocManager::install()

3.github

需要先安装devtools这个R包,然后使用devtools::install_github(“作者用户名/R包名字”)

R包只知道名字,不知道哪里来的怎么办?官网搜索/百度一下来自哪里

安装命令:

devtools::install_github()
##要求必须把R包作者的用户名写上去
devtools::install_github("jmzeng1314/包名")

在这里插入图片描述

理解安装和加载:类似于在手机上装软件,安装类似于下载淘宝,加载就是类似每次打开淘宝的操作,每次打开一个新的session加载一下所需的R包

3.怎样实现快速的下载?

使用镜像,镜像是境外网站被各种机构搬运到境内的网站

1.常用镜像地址

清华镜像
http://mirrors.tuna.tsinghua.edu.cn/CRAN/

http://mirrors.tuna.tsinghua.edu.cn/bioconductor/
中科大镜像
http://mirrors.ustc.edu.cn/CRAN/

http://mirrors.ustc.edu.cn/bioc/

2.设置镜像的方法

1.tools-global options-packages

#此方法只能设置CRAN的镜像,没办法设置Bioconductor的镜像

3.代码设置

options(“repos”=c(CRAN=“http://mirrors.tuna.tsinghua.edu.cn/CRAN/”))

options(BioC_mirror = “http://mirrors.tuna.tsinghua.edu.cn/bioconductor/”)

在这里插入图片描述

4.R包安装和使用的逻辑

在这里插入图片描述

R包安装成功的唯一标准:library()没有error
在这里插入图片描述
#只是起类似作用

5.报错的解决办法

满分操作,分情况讨论
require与library类似,加载R包用的,library会报错,require不会报错,

if(!require(stringr))install.packages(“stringr”)

在这里插入图片描述

require返回是否安装了stringr这个包,返回了F,用!转换成了T
if函数:当括号内的逻辑值为T时执行后面的语句,如果逻辑值为F则不执行
因此整句话的意思是:如果没有安装stringr就安装它

1.加载R包

  1. library(tidyr)
    library是每次打开session都要运行的
    library有没有error是R包是否安装成功的金标准
  2. require(tidyr)
    和library的区别:
    遇到不存在的包的时候,library会报错,require只会warning,脾气比较好
    可以用as.logical()转换为逻辑值,或者放在一个需要放逻辑值的地方即可
    用于检查某个R包是否加载了,如果没有则加载它

6.拓展阅读:使用pacman包来方便快捷的批量管理各种r包

1.学R语言要高冷:能no就no
2.学linux要乖乖听话,叫yes就yes
3.pacman包可以批量管理R包
在这里插入图片描述

7.练习4-2 安装以下所有的包

data.table

rio

tibble

ggplot2

ggpubr

eoffice

patchwork

tidyr

dplyr

stringr

qlcMatrix

安装后加载,library是检验是否安装成功的金标准

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(devtools))install.packages("devtools")
if(!require(qlcMatrix))devtools::install_github("cysouw/qlcMatrix")
if(!require(stringr))install.packages("stringr")

#自己安装时报错
qlcMatrix安装失败,查找安装方式如下

搜索:qlcMatrix R包
在这里插入图片描述
在这里插入图片描述
发现R包已经从CRAN上移除,可以找出老版本,百度一下如何安装旧版本:
install archive cran package
添加链接描述
可以挑选第四种方式安装一个老版本:0.9.7,我模拟第四种方案代码:install.package(“~/software/ArchR/ArchR-master.zip”,repo=NULL,type=“source”)
1.直接下载压缩包后本地安装,把qlcMatrix_0.9.7.tar.gz包下载在工作目录下
install.packages(“qlcMatrix_0.9.7.tar.gz”,repo=NULL,type=“source”)
2.直接输入网址安装,直接用链接代替,不用下载
#给链接赋值
ad=https://cran.r-project.org/src/contrib/Archive/qlcMatrix/qlcMatrix_0.9.7.tar.gz
if(!require(qlcMatrix))install.packages(ad,repo = NULL)
library(qlcMatrix)
3.接着查找github上是否有次R包:
site gitbhub qlcMatrix,限定github搜索
#先下载devtools R包
install.packages(“devtools”)
library(devtools)
#用github安装qlcMatrix R包
devtools::install_github(“cysouw/qlcMatrix”)或
if(!require(qlcMatrix))devtools::install_github(“cysouw/qlcMatrix”)
library(qlcMatrix)
2和3方法都能安装成功
在这里插入图片描述

8.R包安装常见疑问

1.提示信息

检查是否有error,没有就忽略

2.package not available

原因1:包名写错
原因2:安装命令使用错误
原因3:本机的R语言版本与包所要求的版本不符(极少),R语言版本99%的情况下没有问题,但它总是被无辜怀疑
原因4:包过时被剔除
Bioconductor:removed packages
CREN:archive packages

3.是否更新?是否。。

问是否update先n不行再y,如果说依赖包的版本不够新,则需要取消加载-卸载-重启session-安装
懒惰策略,能不更新就不更新,除非一直报错。
不想回答:安装命令参数:update=F,ask=F
更新一个包:取消加载,卸载,重启session,安装

4.加载A包,报错B包不存在

在这里插入图片描述

5.网络问题

网络问题:connection、internet、url、404、http、download
没联网?校园网设置?镜像没设置?镜像崩了?

6.not writable/permission denied

说明是权限问题,暂时解决办法:以管理员身份打开R Studio,或者设置一下电脑权限,MAC电脑不需要此操作
#可按照小洁老师的方法(R语言和R包安装),把R语言和Rstudio的权限设为最高,设置为完全控制电脑
添加链接描述

7.如果出现????有可能是中文用户名惹的祸,需要设置一下环境变量,见课前答疑文档

8.总结

在这里插入图片描述

9.练习

test = read.csv("exercise2.csv")

筛选test中,Species列的值为a或c的行

#三种方式
熟练运用%in%
test[test$Species!="b",]
test[test$Species=="a"|test$Species=="c", ]
最佳解决方案:
test[test$Species %in% c("a","c"),]

9.R包的使用场景

10.R包如何使用,获取帮助

1.快速查看帮助文档,很有用!!!

?sd

2.找R包介绍页面

#直接搜
limma package
#代码查看作者写的在线教程,不是每个包都有Vignette
browseVignettes("limma") 

3.列出某个包里面包含的所有函数和数据

ls("package:limma")

三.总结

1.模式图总结

在这里插入图片描述

2.R语言里的符号

在这里插入图片描述

3.认清函数和数据

函数:括号前面的英文单词都叫函数
形式参数:就是参数的名称,函数括号里等号前的内容,熟练后,形式名称可以省略
实际参数:函数括号里等号后边的内容,或者没有等号,形式参数省略,只剩实际参数
数据框或矩阵:【】前的英文单词
列表:【【】】前
文件名:文件名称出现在代码里永远带引号,
包:library()
在这里插入图片描述

四. 尝试画图

install.packages("ggstatsplot")
library(ggstatsplot)
ggbetweenstats(iris,x = "Species", y = "Sepal.Length")

在这里插入图片描述

查看帮助文档,试着运行帮助文档里的代码,看能出什么图
?ggbarstats

在这里插入图片描述

  • 54
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值