(如何)CRAN 上的包可以导入不在 CRAN 上的包?
(How) can a package on CRAN import a package not on CRAN?
Comprehensive R Archive Network (CRAN) 上的包显然可以直接导入 CRAN 上的其他包。
CRAN 上的包是否也可以导入 CRAN 上不是的包? - 如果没有,我想选项是:
- 将另一个包放到 CRAN 上,或者
- 抽象出必要的部分以直接包含(而不是导入整个包)
- 其他方法?
我很感兴趣,因为有时贡献放在一个单独的包中更有意义,尤其是当贡献可能单独使用或在其他包中使用时。
我不这么认为。
Writing R Extensions 指定您可以在 DESCRIPTION 文件中包含一个 Additional_repositories
字段。
然而,CRAN Repository Policy 表示:
Packages on which a CRAN package depends should be available from a mainstream repository: if any mentioned in ‘Suggests’ or ‘Enhances’ fields are not from such a repository, where to obtain them at a repository should be specified in an ‘Additional_repositories’ field of the DESCRIPTION file (as a comma-separated list of repository URLs) or for other means of access, described in the ‘Description’ field.
- "mainstream" 这里大概是指 CRAN(也许是?Bioconductor)(this bioc-devel thread from 2015 表明 CRAN 和 Bioconductor 都是 "mainstream")
- "depends"这里的意思是Imports/LinkingTo/Depends
除了您建议的解决方案之外,我想不出任何解决方案(在 CRAN 上获取软件包或 将必要的代码合并到您的软件包中)。
Comprehensive R Archive Network (CRAN) 上的包显然可以直接导入 CRAN 上的其他包。
CRAN 上的包是否也可以导入 CRAN 上不是的包? - 如果没有,我想选项是:
- 将另一个包放到 CRAN 上,或者
- 抽象出必要的部分以直接包含(而不是导入整个包)
- 其他方法?
我很感兴趣,因为有时贡献放在一个单独的包中更有意义,尤其是当贡献可能单独使用或在其他包中使用时。
我不这么认为。
Writing R Extensions 指定您可以在 DESCRIPTION 文件中包含一个 Additional_repositories
字段。
然而,CRAN Repository Policy 表示:
Packages on which a CRAN package depends should be available from a mainstream repository: if any mentioned in ‘Suggests’ or ‘Enhances’ fields are not from such a repository, where to obtain them at a repository should be specified in an ‘Additional_repositories’ field of the DESCRIPTION file (as a comma-separated list of repository URLs) or for other means of access, described in the ‘Description’ field.
- "mainstream" 这里大概是指 CRAN(也许是?Bioconductor)(this bioc-devel thread from 2015 表明 CRAN 和 Bioconductor 都是 "mainstream")
- "depends"这里的意思是Imports/LinkingTo/Depends
除了您建议的解决方案之外,我想不出任何解决方案(在 CRAN 上获取软件包或 将必要的代码合并到您的软件包中)。