:首次安装或使用包时运行代码

时间:2010-10-25 21:31:24

标签: r install package

我正忙着为一个对R知之甚少的客户编写软件包。鉴于其复杂的数据结构,我需要在R中设置一个“数据库”,其中包含从另一组电子表格中获取的大量信息。公司。由于他们无法在他们的计算机上安装SQL等(ICT有一些功率控制问题......),我在R中根据特定的目录结构编写了一个仿真。现在我想自动运行它,但只是第一次加载包。像.First.lib这样的东西,然后是.VeryFirst

关于如何在第一次加载包时加载一段代码的任何想法?我无法在手册中的任何地方找到它,所以欢迎所有指针。

2 个答案:

答案 0 :(得分:4)

它在手册中。

基本上你有两个代码路径:

    没有NAMESPACE的
  1. 包可以使用.First.lib()函数,通常来自R/zzz.R

  2. 带有NAMESPACE的
  3. 包可以使用.onLoad()函数,通常来自R/zzz.R

  4. 我已经将它用于加载时自行更新包(!!)等技巧。这需要在实际加载二进制代码之前不使用NAMESPACE并运行utils::update.packages()

答案 1 :(得分:0)

如何为电子表格添加电子表格指定路径和术语。您可以递归目录以获取更新和文件。我是为了类似的问题而这样做的。

2010 08.xls 2010 09.xls

您可以使用readline()来提示新的数据范围,以便它们只需键入新的月份。如果目录发生变化,那么教会某人如何setwd()或使用检查个人/公司服务器上某些内容的脚本自行更新它并不困难。

他们实际上是在加载R来运行包吗?或者它是命令行吗?