【问题标题】:Error with asreml.d package in R-2.14.0R-2.14.0 中的 asreml.d 包出错
【发布时间】:2011-11-04 16:30:12
【问题描述】:

我使用 Packages 菜单中的 Install packages from local zip filesR 2.14.0 上安装了 asreml.d。当我尝试使用library(asreml.d) 加载包时,出现以下错误

Error in library(asreml.d) : 
  package ‘asreml.d’ does not have a NAMESPACE and should be re-installed

重新安装后仍会出现错误。任何解决此问题的评论、想法和解决方案都将受到高度赞赏。提前感谢您的时间和帮助。

【问题讨论】:

  • 联系包维护者???
  • 我猜这是由于new feature of R 2.14.0
  • 在 2.13.x 下运行或获取专为 2.14.x 构建的软件包版本。
  • 你有源代码的链接吗?
  • 我经常使用lme4,需要使用ASREML 来实现lme4 中尚未提供的某些特定功能。

标签: r


【解决方案1】:

包的维护者需要更新包以包含NAMESPACE 文件。

也就是说,您可能有幸自己插入 NAMESPACE 文件作为 hack。看起来 ASReml 是封闭源代码,但您拥有 .zip 文件。尝试解压缩它。然后,创建一个简单的文本文件,其中包含:

exportPattern("^[^\\.]")

将其保存为NAMESPACE(注意没有像.txt 这样的扩展名,Windows 有时会偷偷将这些插入)。将NAMESPACE 放在解压缩包的顶部文件夹中(应该类似于asreml.d/;那里还会有一个DESCRIPTION 文件)。如果有MD5 文件,您可能应该删除它。现在,重新压缩asreml.d/ 目录。看看新的 zip 文件是否有效。

有关NAMESPACE 的更多信息,请参阅http://cran.r-project.org/doc/manuals/R-exts.html#Package-namespaces

NB 这可能是个坏建议。但它似乎会起作用。它不会伤害任何东西。

【讨论】:

  • R 2.14.x 将自动添加一个 NAMESPACE 文件,如果它还没有在包中,因此维护人员只需要为 R 2.14.x 重建它。例如,请参阅:stackoverflow.com/questions/7998438/…
  • @G。 Grothendieck 是的,但在此期间这是否可行,而 MYaseen208 正在等待维护者使用 R 2.14.x 构建?
  • 当然,完全不做任何更改并在 2.14.x 下重建它比添加一个 NAMESPACE 然后用 2.13.x 重建它更容易。
  • @jthetzel:感谢您的回复。除了这个警告Warning message: In readLines(file) : incomplete final line found on 'C:/Users/R/win-library/2.14/asreml.d/NAMESPACE' 之外,遵循您的指导后我没有收到任何错误。任何建议。
  • @MYaseen208 我认为警告是安全的。包现在加载正常吗?为防止将来出现这种情况,也许要确保 NAMESPACE 文件末尾没有空行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
  • 2021-01-08
  • 1970-01-01
  • 2017-03-16
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
相关资源
最近更新 更多