我正忙着为一位对 R 知之甚少的客户编写一个包。考虑到他们的复杂数据结构,我需要在 R 中建立一个“数据库”,其中包含从他们从另一家公司获得的一组电子表格中获得的大量信息。由于他们无法在计算机上安装 SQL 等(ICT 有一些电源控制问题...),我根据特定的目录结构在 R 中编写了一个模拟。现在我想自动运行它,但仅限于第一次加载包时。就像是.First.lib
, 但是之后.VeryFirst
.
关于如何在第一次加载包时加载一段代码有什么想法吗?我在手册中找不到它,所以欢迎所有的指点。
它在手册中。
基本上你有两个代码路径:
没有 NAMESPACE 的包可以使用函数.First.lib()
,通常来自R/zzz.R
带有 NAMESPACE 的包可以使用函数.onLoad()
,也常常来自R/zzz.R
.
我已将其用于一些技巧,例如在加载时让包自行更新(!!)。这需要不使用命名空间并运行utils::update.packages()
在实际加载二进制代码之前。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)