下午在 RStudio 中创建 R for Data Science 代码库,由于这本书的在线版和影印版(纸质)章节结构发生了变化,代码库中的练习按影印版本标记,笔记写在纸质书上。 另外创建的 R project 使用 Packrat 作为依赖管理工具,
Packrat 是 R 的一个依赖管理工具, 它把项目依赖包的源代码以压缩包形式保存在版本控制系统中,这样一个 R 项目就可以不依赖系统的 R 包运行了。
创建项目和安装依赖:
library(packrat)
init("~/docs/myproject") # initialize project scaffold
install.packages('rmarkdown')
install.packages('tidyverse')
status()
snapshot() # download package source code into packrat/src
使用 install.packages()
安装新的依赖库到 packrat/lib
目录中,
执行 snapshot()
会下载依赖库的源码压缩包到 packrat/src
目录下。
并更新 packrat/packrat.lock
文件。
依赖库版本保存在 packrat/packrat.lock
文件中,
配置信息保存在 packrat/packrat.opts
文件中。
packrat
默认把源码包提交到版本控制系统中,不提交编译后的包,
当在新环境中 clone 出这个代码库并用 RStudio 打开这个 R Project,
会自动在项目私有环境中安装 packrat,在 RStudio 中执行下面的命令重建环境:
library(packrat)
status() # optional
restore()
其中 restore()
将源码编译为二进制包时,需要系统的 develop 库支持,
如果没有安装这些库就会报错。
如果当前环境中不包含所有被 snapshot 的 package,status()
会报告,
如果新安装的包还没有 snapshot,status()
不会报告。