零基础自学R语言 1 R语言介绍 1.3 R扩展软件包的安装与管理

news/2024/12/29 3:54:22/

零基础自学R语言

文章目录

      • 零基础自学R语言
      • 1 R语言介绍
        • 1.3 R扩展软件包的安装与管理
          • 1.3.1 扩展包使用
          • 1.3.2 安装
          • 1.3.3 Github和BioConductor的扩展包
          • 1.3.4 更新扩展包
          • 1.3.5 迁移扩展包
          • 1.3.6 项目私有扩展包目录

1 R语言介绍

1.3 R扩展软件包的安装与管理

1.3.1 扩展包使用

R有一万多个扩展软件包,提供了各种各样的功能。

在安装基本R软件时, 已经伴随安装了一些必要的扩展包, 如base, stats, graphics等, 这些包在启动R时会默认载入, 不需要用户干预。

其它扩展包在安装好以后如果需要调用, 一般需要先用library()函数载入运行。

例如,载入readr扩展包,并使用其中的read_csv()函数读入一个CSV文件:

library(readr)
d <- read_csv("class.csv")

有些扩展包允许不载入而直接用“扩展包名::函数名()”的格式调用其中的功能,如:

d <- readr::read_csv("class.csv")

因为不同的扩展包可能会使用相同的函数名称, 所以在两个扩展包中的函数名字有冲突时, 也应该使用“扩展包名::函数名()”这种语法。

例如,stats包和dplyr包都提供了名为filter()的函数, 在调用此函数时, 就应该指定为stats::filter()dplyr::filter()

在使用library()函数载入扩展包时, 会显示一些诊断信息、提示信息、警告信息。 在交互运行时这些信息是必要的, 但是在使用R Markdown格式制作论文、技术报告、图书时, 这些信息则会分散注意力, 显得不专业, 这时可以增加选项,载入命令如:

library(tidyverse, warn.conflicts=FALSE,quietly=TRUE,verbose=FALSE) |> suppressMessages() |> suppressWarnings()

当然这都是后话了

1.3.2 安装

以安装sos包为例。sos包用来搜索某些函数的帮助文档。

在RStudio中调用用“Tools”菜单的“Install Packages”, 输入或者在列表中选中sos就可以安装该扩展包。

如果不用RStudio, 在R图形界面选菜单“程序包-安装程序包”, 在弹出的“CRAN mirror”选择窗口中选择一个中国的镜像如“China (Beijing 2)”, 然后在弹出的“Packages”选择窗口中选择要安装的扩展软件包名称, 即可完成下载和安装。

还可以用如下程序指定镜像网站(例子中是位于清华大学的镜像网站)并安装指定的扩展包:

options(repos=c(CRAN="https://mirror.tuna.tsinghua.edu.cn/CRAN/"))
install.packages("sos")

还可以选择扩展包的安装路径, 如果权限允许, 可以选择安装在R软件的主目录内或者用户自己的私有目录位置。

由于用户的对子目录的读写权限问题, 有时不允许一般用户安装扩展包到R的主目录中。 用.libPaths()查看允许的扩展包安装位置, 在install.packages()中用lib=指定安装位置:

print(.libPaths())
## [1] "D:/R/R-4.1.0/library"
install.packages("sos", lib=.libPaths()[1])
1.3.3 Github和BioConductor的扩展包

还有一些扩展包没有在CRAN系统提供, 而是放在了Github网站。 对于这样的包, 安装方法举例如下:

if(!require(devtools)) install.packages('devtools')
devtools::install_github("kjhealy/socviz")

其中kjhealy是Github网站的某个作者的名称, socviz是该作者名下的一个R扩展包。

还有一些包需要从Bioconductor网站安装,可利用镜像网站。 利用清华大学镜像的示例如下:

options(repos=c(CRAN="https://mirror.tuna.tsinghua.edu.cn/CRAN/"))
if (!requireNamespace("BiocManager", quietly = TRUE)){install.packages("BiocManager")BiocManager::install()
}
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
BiocManager::install(c("Biostrings"))

随后安装Bioconductor的其它包, 也应该先设置reposBioc_mirror选项。

1.3.4 更新扩展包

在RStudio中用“Tools–Check for Package Updates”菜单, 可以显示有新版本的扩展包, 并选择进行更新。

或者在命令行用如下命令更新本地安装的所有有新版本的CRAN扩展包:

options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
update.packages(checkBuilt=TRUE, ask=FALSE)

RStudio在运行时会载入某些包, 如rlang, 这使得RStudio无法更新这些包, 需要在R的命令行程序(就是基本R软件)中更新。

1.3.5 迁移扩展包

在每一次R软件更新后, 需要重新安装原来的软件包, 这个过程很麻烦。 如果仅仅是小的版本更新, 比如从3.5.1变成3.5.2, 或者从3.4.2变成3.5.0, 可以在安装新版本后, 临时将新版本的library子目录更名为library0, 将老版本的library子目录剪切为新版本的library子目录, 然后将library0中所有内容复制并覆盖进入library子目录, 删除library0即可。

然后在基本R中(不要用RStudio)运行如下命令以更新有新版本的包:

options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
update.packages(checkBuilt=TRUE, ask=FALSE)

如果版本改变比较大, 可以用如下方法批量地重新安装原有的软件包。 首先,在更新R软件前,在原来的R中运行:

packages <- .packages(TRUE)
dump("packages", file="packages-20180704.R")

这样可以获得要安装的软件包的列表。 在更新R软件后, 运行如下程序:

options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
source("packages-20180704.R")
install.packages(packages)

安装时如果提问是否安装需要编译的源代码包, 最好选择否, 因为安装源代码包速度很慢还有可能失败。

1.3.6 项目私有扩展包目录

在使用了R一段较长时间以后, 会安装了许多扩展包, 这些扩展包在某个时期是有用的, 但是一旦某个任务完成了就不再有用。 但是, 用户自己无法判断哪些包已经不需要。

R的renv扩展包支持每个项目保存私有的扩展包目录, 这样, 不同的项目使用不同的扩展包集合, 不至于引发版本冲突, 也不必总是为公用的R扩展包目录增加许多仅是短暂使用的扩展包。 用renv管理项目私有扩展包目录, 也有利于将项目迁移到其它电脑中, 并且保证每次使用的扩展包版本号不变, 避免多个项目共用的扩展包升级造成兼容性问题。

那些不需要安装许多扩展包的项目仍可以不启用renv, 使用公用的R扩展包目录。

在生成新的RStudio项目时, 可以点击选中“Use renv with this project”复选框; 对已有的RStdio项目, 如果要启用renv, 可以选菜单“Tools – Project Options – Environment”, 选中“Use renv with this project”复选框。

启用了renv的项目, 在安装新的扩展包时, 将安装在项目目录中, 而不再修改R的公用的扩展包目录。 这也有助于将项目迁移到其它计算机上。


http://www.ppmy.cn/news/671863.html

相关文章

R语言自学-准备0-1-基本操作

一、赋值运算符 与大多数其他语言不同&#xff0c;R除了使用通常的运算符赋值外&#xff0c;还使用<-或者->运算符。在R语言中<-或者->运算符就相当于号&#xff0c;唯一的区别是<-和->指明了运算方向。表示是否相等&#xff0c;表示赋值。 x<-1 #赋值运…

R for Mac(M1)安装R包辛酸教程

欢迎收看hanhan的辛酸血泪史orz 关于R for Mac(M1)安装失败/下载后报错 文章目录 前言1. 非零报错-have no-zero-there is no package-缺包2. 安装失败-install from sources the package-下载源文件3. 关于我尚未解决的问题 前言 鬼迷心窍买了Mac&#xff0c;用着很爽&#…

R语言客户端RStudio快捷键大全

Console Description Windows & Linux Mac 输入符号 <-"Alt" "-"、Alt加上减号option - 将光标定位到控制台 Ctrl2 Ctrl2 清空控制台 CtrlL CommandL 将光标定位到行首 Home CommandLeft 将光标定位到行末 End CommandRight 在历…

R语言readxl或者tidyverse安装报错undefined symbol libiconv

我的生物信息专栏正式开启啦!!!为广大生物信息爱好者提供生信支持:拿来即可免安装部署到服务器的生信pipeline;R,python,C语言等包的debug;优秀文献内容解读等,欢迎订阅关注!!! 文章目录 R语言安装readxl或者tidyverse报错R语言安装readxl或者tidyverse报错 单细胞…

R语言table1包绘制表格转word的方法

用table1包绘制了三线表&#xff0c;但不能用常规方法输出为word格式。 查看数据格式为html格式 > class(log_table) [1] "table1" "html" "character" 解决方法&#xff1a;点击viewer右上角的Publish按钮&#xff0c;会提示要安…

R语言学习1下载

内容为学习笔记&#xff0c;目前正在学的书《R语言从数据思维到数据实战》 关于安装网址http://www.r-project.org 点击 download R 在China下方的网址中任选一个点击下载 关于R-studio&#xff1a;https://rstudio.com

【R语言】【1】初学R语言语法使用Rstudio编辑

前言 我看R排名这么高&#xff0c;绘图又很好看&#xff0c;打算学一学&#xff0c;以后就用这东西处理数据和作图了 目录 前言随便敲点什么基本语法和操作Data和Value窗口管道函数 \;\\\;\\\; 随便敲点什么 先敲几行代码&#xff0c;不管什么意思 arnorm(100) plot(a) prin…

R语言基础教程(1)

R 语言赋值使用的是左箭头 <- 符号&#xff0c;也支持等号 。 R的版本是4.1.2 > print("Hello World") [1] "Hello World" > myString <- "Hello World" > print(myString) [1] "Hello World" > myString "…