R 编程/软件包
外观
< R 编程
R 包含一组函数和数据集。包通常作为书籍的补充资料开发。例如,MASS 包是由 Venables 和 Ripley 为他们的书籍 *现代应用统计学与 S* 开发的,而 car 包是由 John Fox 为他的书籍 *应用回归的 R 和 S plus 伴侣* 开发的。
使用 library()
函数将包加载到当前 R 环境中。可以使用 library
函数的 h 或 help 参数获取包中包含的函数和数据集的列表。
library("stats4") # loads the package "stats4"
library(h=stats4) # gives help for all functions
data(package="stats4") # gives the list of all available datasets
可以使用 detach()
函数将包从当前环境中分离。
> detach("package:prettyR")
在没有参数的情况下,library()
函数列出当前用户可用的所有包。env()
(gdata) 描述所有加载的环境 (即包)。search()
提供所有加载包的列表。
> library() # returns the description of all the packages available on the computer
> dir(.libPaths()) # returns the name of all the packages available on the computer (quicker than the previous one)
> search()
> env(unit="MB")
current.packages()
(Zelig) 显示所有必需和建议的包。
> current.packages("sem")
我的包存储在哪里?
- 没有参数的
.libPaths()
函数打印库目录。 - 带目录作为参数的
.libPaths()
函数定义一个新的目录,用于存储新的库。
> .libPaths()
[1] "/Users/username/Library/R/library"
[2] "/Library/Frameworks/R.framework/Resources/library"
> .libPaths("W:/AppData/R/library")
- R 的每个主要发行版都包含一组支持许多基本统计功能的“基础”包。
- 许多 R 用户还选择安装额外的“附加”包,以提供对 R 命令的简化界面或添加专业功能,例如 ggplot 语法图形包提供了高级图形输出功能。
- 所有可用包的详尽列表在 CRAN 网站 上。
- R 社区开发了大量的附加包资源,有些具有独特的功能,有些功能重叠。因此,经常发现多个 R 包能够完成相同的任务,例如读取和写入 Excel 电子表格。最终使用哪个包是你的选择。
- 要安装新包,通常需要将包的名称指定为 install.packages() 函数的参数。
- 有时你需要指定更多选项。例如,如果你不是你电脑的管理员,就会出现这种情况。
- “lib”指定要存储包的目录。
- “repos”指定一个存储库列表。请注意,你可以指定一个存储库向量。
- “dep=T”指定也下载并安装所有必需的包。
> install.packages("faraway")
> install.packages("rgrs", lib="W:/AppData/R/library" ,
repos=c("http://r-forge.r-project.org","http://cran.fr.r-project.org/"),
dep=TRUE)
- 保持最新。
如果你想了解最新的包,请在 R 中键入 new.packages() 或访问 Revolution Computing 博客,该博客每月提供新包和更新包的列表。
> new.packages() # displays all the packages available in the repositories
> update.packages() # updates all the packages installed with the newest version available in the repositories
我们还可以使用 install.views()
或 update.views()
(ctv) 安装包捆绑。
> install.packages("ctv")
> library("ctv")
> install.views("Econometrics")
> update.views("Econometrics")
我们还可以使用 remove.packages()
删除包。
包文档和帮助
[edit | edit source]所有 R 包都随附“帮助”文档,列出其函数并提供语法和使用示例。
> library("tidyr") # load the tidyr package
> help("tidyr") # view the tidyr package's help documentation
有关访问包“帮助”文档的更多详细信息,请参阅 获取帮助 文档部分。
包依赖项
[edit | edit source]- 大多数 R 包都依赖或引用其他 R 包。在你使用包之前,必须安装所有 R 包的“必需”依赖项。
- R 包依赖项分为两种类型:必需和建议。
- 专业 R 包(例如 ggplot 图形语法包)具有大型包依赖项树。
install.packages()
函数将在具有 Internet 连接的计算机上自动下载并安装包及其依赖项。- R CMD INSTALL 实用程序将检查预安装的包以查找依赖项,但不下载缺少的包。
- 当在没有 Internet 连接的计算机上工作时,用户必须遵循单独的包下载和安装过程。miniCRAN 包可用于协助离线管理 R 包依赖项。
构建 R 包
[edit | edit source]你可以写下你自己的 R 包。但是,提交到 CRAN(或 Bioconductor)的所有包都必须遵循特定准则,包括包的文件夹结构以及其他文件,如 DESCRIPTION、NAMESPACE 等。
- 请参阅 Friedrich Leisch 的介绍 (PDF 20 页)[1]
- 另请参阅 Duncan Murdoch 使用 Windows 构建包的工具[2]
- 另请参阅 Hadley Wickham 和 Jennifer Bryan 关于当前打包实践的在线书籍 (R Packages) [3]
参考文献
[edit | edit source]- ↑ Friedrich Leisch Creating R Packages : A Tutorial https://cran.r-project.org.cn/doc/contrib/Leisch-CreatingPackages.pdf
- ↑ https://www.r-project.org.cn/conferences/useR-2008/slides/Murdoch.pdf
- ↑ Hadley Wickham 和 Jennifer Bryan R Packages : Organize, Test, Docment and Share your code https://r-pkgs.org/