2012-04-13 186 views
11

我想构建一个R包,但似乎有一些包依赖关系的问题。如果我运行在R上的代码,我需要的套餐“rgdal”和“rgeos”,为creatng包出来,我这么:R包依赖关系

  • 增加了行“进口(rgdal,rgeos)”到空间文件
  • 增加了行 “取决于:rgeos,rgdal” 来描述文件

当我运行[R CMD检查(编译后),我得到了它说的错误:

* checking package dependencies ... ERROR 
Benötigte, aber nicht verfügbare Pakete: 
    'rgeos' 'rgdal' 

See the information on DESCRIPTION files in the chapter 'Creating R 
packages' of the 'Writing R Extensions' manual. 

德国部分错误:“Benötigte,aber nich tverfügbarePakete:“=”需要,但不可用包“。

我已阅读上述手册,并了解使用导入,建议或增强的选项,但我非常确定,依赖是我必须使用的选项,因为在我的代码功能中, m使用这两个包的外部函数。

我在做什么错?

回答

9

R认为您没有系统上的软件包。

现在你当然知道你是做的。有什么不同?

那么你可能已经将它们安装在另一个目录中,其中R CMD check没有看到。解决这个问题的一种方法在'R内部'手册的标题为“工具”的第7部分(参考'编写R扩展')中描述,并使用文件~/.R/checkEnviron来设置在R CMD check期间使用的环境变量。

例如,我有

# edd Apr 2003 Allow local install in /usr/local, also add a directory for 
#    Debian packaged CRAN packages, and finally the default dir 
# edd Jul 2007 Now use R_LIBS_SITE, not R_LIBS 
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:' 
          '/usr/lib/R/site-library:/usr/lib/R/library'} 

,我只是打破了一个长行(有没有在中间的两个单引号)。

+0

是否在'$ R_HOME/etc/Rcmd_environ'中指定也可以工作? – 2012-04-13 18:38:19

+0

很可能,是的,至少远远的位置。但我习惯于创建'〜/ .R /'目录并在其中放置文件。文件“Rcmd_environ”在哪里记录在案? – 2012-04-13 18:39:36

+0

我不确定它有记录。我在我的XP机器上发现了一段时间。甚至不知道它在* nix安装上存在。 – 2012-04-13 18:57:47