R语言程序包

Posted 喀斯特生态

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言程序包相关的知识,希望对你有一定的参考价值。

1 R程序包来源

目前R程序包共有20200+个(2020.08.01,https://www.rdocumentation.org统计),主要来自三个网站:

1.CRAN (https://cran.r-project.org)2.github (https://github.com)3.Bioconductor (http://bioconductor.org)

其中最常用的是CRAN包,CRAN上有16121个程序包(2020.08.09),在线安装使用如下命令:
install.packages("<程序包名称>")

例:

install.packages("vegan") #安装vegan程序包install.packages("spaa", "vegan", "ade4") #安装多个程序包

2 github

 requiredPackages = c('devtools') # 加载/安装需要的包 for(p in requiredPackages){ if(!require(p,character.only = TRUE)) install.packages(p) library(p,character.only = TRUE) }
library(devtools) #加载devtools包

2.1网络安装

如果计算机联网,可使用如下命令安装:

install_github("<程序包所有者>/<程序包名>")devtools::install_github("<程序包所有者>/<程序包名>")# 'devtools::' 为指定使用devtools包中的名录,避免有命令冲突情况,非必要

例:

install_github("gastonstat/plspm")

2.2本地安装

如果计算机不能联网,或各种原因不能连上github,下载相应的程序包以后放入到需要安装的计算机中。使用如下命令安装:

devtools::install_local("包所在地址//<包名含拓展名, 如'.zip'>") #镜像选择all-- 1

例:

devtools::install_local("D:\Desktop\plspm-master.zip")

3 Bioconductor

地址:http://bioconductor.org  
专门做生物信息学R包的平台,如KEGG、GO富集分析,pathway分析等相关的程序包均在此平台上。安装介绍:http://bioconductor.org/install/
requiredPackages = c('BiocManager') # 加载/安装需要的包for(p in requiredPackages){ if(!require(p,character.only = TRUE)) install.packages(p) library(p,character.only = TRUE)}BiocManager::install("<程序包名称>", version = "<版本号>") #安装3.10版本的程序包

例:

BiocManager::install("GenomicRanges", version = "3.9") #安装3.9版本的程序包

  比较:CRAN是官方程序包存储库,发布程序包需要通过审查、测试,帮助文档齐备、代码规范,社区活跃度非常高,每个月都有很多程序包发布/更新。Bioconductor是生物信息学方面程序包的专题库,活跃度也较高,代码较为规范,帮助文档偶有缺失。Github是开源项目常用的存储库,主要用于版本控制和多人协作,对于R程序包的优势在于其更新快(并不一定是原作者进行),第一时间发布共享,但许多包没有帮助文档,降低了可信度,增加了学习门槛。

4 爬取官方CRAN包信息

# 加载/安装需要的包requiredPackages = c('magrittr', 'wordcloud2', 'jiebaR', 'rvest')for(p in requiredPackages){ if(!require(p,character.only = TRUE)) install.packages(p) library(p,character.only = TRUE)}#读取速度主要取决于网速,需要时间page <- read_html("https://mirror.lzu.edu.cn/CRAN/web/packages/available_packages_by_name.html")#解析网页也需要时间,取决于CPU和内存,使用system.time()查看运行时间system.time(pkg_table <- page %>%  html_table(fill = T)) class(pkg_table)# 返回list,这个list应该包含了网页中的所有table# 整个网页就只有一个tablepkg_table <- as.data.frame(pkg_table)# 转化为数据框才能数据进行缺失值处理str(pkg_table) # obs.数量即为包的数量pkg_table <- pkg_table[-1,] #删除第1行colnames(pkg_table) <- c("package","introduction")
## R包信息词云分析rpkg <- qseg[pkg_table$introduction] %>% .[nchar(.)>1] %>% table(.) %>% .[!grepl('[0-9]+',names(.))] %>% .[!grepl('a-zA-Z',names(.))] %>% sort(., decreasing = TRUE) %>% .[1:1000] %>% data.frame(.)colnames(rpkg) <- c("word","Freq")
#绘图wordcloud2(rpkg) #未排除干扰词汇的绘图

4.1 排除一些特定干扰词汇

#定义需要排除的干扰词汇prep.words <- c("for","and","of","in", "with","to","on","by","or","from",  "Using", "The", "the", "an","An", "Packages", "Package", "Tools", "Tool")#删除干扰词汇信息rpkg <- rpkg[-(which(rpkg$word %in% prep.words)),]rpkg[1:10,]


#绘图wordcloud2(rpkg, fontFamily = "Times New Roman", backgroundColor = "black", color = 'random-light')

4.2 含有Ecology的R包数量


which(rpkg$word %in% c("Ecology","ecology")) %>%  rpkg[.,]


以上是关于R语言程序包的主要内容,如果未能解决你的问题,请参考以下文章

r R有用的代码片段

r R有用的代码片段

需要对特定 R 代码片段的解释

有人可以解释以下 R 代码片段吗? [关闭]

如何将 r ggplot 图存储为 html 代码片段

vs code 自定义代码片段