我正忙着为一个对R知之甚少的客户编写软件包。鉴于其复杂的数据结构,我需要在R中设置一个“数据库”,其中包含从另一组电子表格中获取的大量信息。公司。由于他们无法在他们的计算机上安装SQL等(ICT有一些功率控制问题......),我在R中根据特定的目录结构编写了一个仿真。现在我想自动运行它,但只是第一次加载包。像.First.lib
这样的东西,然后是.VeryFirst
。
关于如何在第一次加载包时加载一段代码的任何想法?我无法在手册中的任何地方找到它,所以欢迎所有指针。
答案 0 :(得分:4)
它在手册中。
基本上你有两个代码路径:
包可以使用.First.lib()
函数,通常来自R/zzz.R
包可以使用.onLoad()
函数,通常来自R/zzz.R
。
我已经将它用于加载时自行更新包(!!)等技巧。这需要在实际加载二进制代码之前不使用NAMESPACE并运行utils::update.packages()
。
答案 1 :(得分:0)
如何为电子表格添加电子表格指定路径和术语。您可以递归目录以获取更新和文件。我是为了类似的问题而这样做的。
2010 08.xls 2010 09.xls
您可以使用readline()来提示新的数据范围,以便它们只需键入新的月份。如果目录发生变化,那么教会某人如何setwd()或使用检查个人/公司服务器上某些内容的脚本自行更新它并不困难。
他们实际上是在加载R来运行包吗?或者它是命令行吗?