首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过所需的函数参数处理隐式包依赖?

如何通过所需的函数参数处理隐式包依赖?
EN

Stack Overflow用户
提问于 2014-05-01 10:29:19
回答 1查看 100关注 0票数 0

背景:

我正在编写一个小的R包RHYPE,用于导入/导出和可视化来自特定水文模型(炒作)的结果。我刚刚添加了一个映射绘图函数,其中一个参数是SpatialPolygonsDataFrame (参数' data '),即数据映射到的空间对象,另一个是要附加到空间对象的data插槽上的新数据,并在后面绘制(参数'newdata')。

说明该功能相关部分的一些简化代码:

代码语言:javascript
复制
PlotMapOutput <- function(newdata, map) {

  # control argument type
  stopifnot(class(map) == "SpatialPolygonsDataFrame")

  # add data to map table, 
  # merge by common column (assumed to be index 1 in both tables)
  map@data <- data.frame(map@data, data[match(map@data[, 1], newdata[, 1]), ]) 

  # plot the map
  plot(map, col = map$color, border = NA)
}

以下是我的问题:

通过要求SpatialPolygonsDataFrame,我隐式地要求函数的用户安装和加载包sprgdal (或另一个用于导入空间数据的包)。但是,我也显式地使用了这些包中的方法。我是否必须将这些包添加到描述文件的Imports:部分?我开始阅读“依赖”与“导入”之间的关系,并对如何编写方法的导入感到困惑,然后无意中发现了隐含的需求。

谢谢您的任何澄清意见!

EN

回答 1

Stack Overflow用户

发布于 2014-05-01 10:59:46

是的,您需要将其中一个包添加到Imports: (在您的DESCRIPTION中),但除此之外,您还需要很好地利用NAMESPACE文件,即使用一行

代码语言:javascript
复制
importClassesFrom("sp", spatialPolygonsDataFrame)

我会用其他的(质量好!)包作为例子,如果阅读名称空间太难。

sp包本身就是一个值得学习的好例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23405961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档