1

我想构建一个包,该包涉及根据用户的系统使用不同的包从 mysql 加载数据。

对于 windows 用户,它将通过包 RODBC 通过 ODBC 连接,而 linux/mac 用户将使用 RMySQL 包。

在脚本中,以下内容非常有效:

if(.Platform$OS.type == "unix") {
library(RMySQL)
} else {
  library(RODBC)
}

现在我想在加载我的包时加载这些包。我通常会将它添加到说明文件中的“依赖:”下,但这不允许可选子句。

处理此问题的最佳方法是什么?

4

1 回答 1

1

我认为解决这个问题的常用方法是通过.onLoad函数(参见?.onLoadhelp(".onLoad"))。

编写 R 扩展手册的第 1.6.3 节给出了概述。也许其他人可以为您指出一个很好的例子,到目前为止我还没有使用过。

于 2012-07-04T08:49:08.917 回答