0

我正在开发我的第一个包——嗯,实际上我正在打包一些现有的代码——在 RStudio 中。我已经用 roxygen2 标记了所有评论,这已经生成了一个正确的 NAMESPACE 文件,其中包括:

import(sp)
importFrom(geosphere,distMeeus)
importFrom(geosphere,distm)

我正在使用distm()geosphere 包中的函数来计算距离矩阵,但它失败了:

.pointsToMatrix(x) 中的错误:在 peta.R#79 处找不到函数“is.projected”4 .pointsToMatrix(x) 3 distm(OCC, SPAD, fun = distMeeus)

现在is.projected()在我已经导入的 sp 包中,所以它应该在我的搜索路径中。不应该吗?

作为一个实验,我library(geosphere)在调用我的包代码之前调用了(它也加载了 sp),我的函数已经过了那个点。Soooo,我还需要library()为每个包裹打电话吗???这似乎有点多余,在这一点上,我想我会停下来看看是否有人可以在我进一步打破任何东西之前让我直截了当......

4

1 回答 1

1

已编辑

我不明白为什么会这样,但您需要添加methods到您的包导入中:

  • 添加到您的DESCRIPTION

    Imports: methods
    
  • 添加到您的命名空间:

    import(methods)
    
于 2014-08-13T09:39:01.743 回答