我想构建一个包,该包涉及根据用户的系统使用不同的包从mysql加载数据。
对于Windows用户,它将通过包RODBC通过ODBC连接,而linux / mac用户将使用RMySQL包。
在脚本中,以下内容非常有效:
if(.Platform$OS.type == "unix") {
library(RMySQL)
} else {
library(RODBC)
}
现在我想在加载我的包时加载这些包。 我通常会在描述文件中添加它,取决于'取决于:',但这并不允许使用可选子句。
处理此问题的最佳方法是什么?
答案 0 :(得分:1)
我认为解决此问题的常用方法是通过.onLoad
函数(请参阅?.onLoad
或help(".onLoad")
)。
Section 1.6.3给出了概述。也许其他人可以给你一个很好的例子,到目前为止我还没有用过。