跳转到内容

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]
  1. Friedrich Leisch Creating R Packages : A Tutorial https://cran.r-project.org.cn/doc/contrib/Leisch-CreatingPackages.pdf
  2. https://www.r-project.org.cn/conferences/useR-2008/slides/Murdoch.pdf
  3. Hadley Wickham 和 Jennifer Bryan R Packages : Organize, Test, Docment and Share your code https://r-pkgs.org/
先前:设置 索引 下一个:文档
华夏公益教科书