起因
继R数据科学之后,再也找不到一本那么适合系统学习的书了,找来找去,决定看下这本《R包开发》,出自哈德雷大神之手。
有这个写包的想法,需要感谢2019年7月在珠海的生信人才发展论坛上Y叔的发言--写包不难,要趁早。
另外,看过有的书籍会把自己的R包和数据放到一个R包里,供读者使用,我就想,我的线下培训可以这么干耶,如果以后写出了广为流传的包,我要记得今天--2019年10月2日,初次接触。
顺便提一句,我特别幸运记下了第一次接触R的那一天,那时候应该想不到会靠这东西找到工作吧.
亮出我那天写的垃圾介绍👉初识R语言👈(点击可查看)
今天我要学这个了,你要不要一起。
1.安装所需的包
emmm,就是开发R包所需要的R包,你滴,明白?
install.packages(c("devtools", "roxygen2", "testthat", "knitr"))
2.包的结构
命名
包的名称只能包含字母、数字和点号。但大神建议不要用点号,我不管,我很听话不让用就不用。
不要同时包含大写和小写字母
创建包
听起来很高大上,操作起来异常简单。
(1) Rstudio的左上角,file-New project-New Directory -R package
(2)写出包名,选好路径,点击创建。
创建出的包,含有:
(1) R/ 目录,你将在第 3 章中了解。
(2) 描述文件 DESCRIPTION,你将在第 4 章中了解。
(3) 命名空间文件 NAMESPACE,你将在第 8 章中了解。
(但是我实操发现还出现了一个man文件夹,.开头的文件可以忽略)
还包括一个 RStudio 项目文件 pkgname.Rproj
关于Rproject,我是非常推崇的,还写过极简介绍:R-project管理多个R工作目录
包生命周期的五个状态
理解包生命周期的五个状态是很有帮助的,它们是源码包、压缩
包、二进制包、已安装的包和内存中的包
1.源码包:你电脑上那个处于开发版本的包。源码包只是包
含 R/ 子目录、DESCRIPTION 等组件的一个目录
2.压缩包:很少使用,devtools::build() 来创建,解压后和源码包几乎一样,也存在一些差别。
3.二进制包:与平台相关,就是说windows和mac,linux的二进制包是不通用的
4.已安装的包:只是解压到一个包库的二进制包(库指的是:包含已安装包的目录,可使用.libPaths()查看)
5.内存中的包:要使用包,必须把它加载到内存中。用library或require,我发现这个在线下已经讲过十几遍了。
网友评论