gpt4 book ai didi

r - 如何导出S3方法以使其在 namespace 中可用?

转载 作者:行者123 更新时间:2023-12-04 02:07:42 25 4
gpt4 key购买 nike

我正在创建一个包,对于S3方法,我使用

##' @method predict myclass
##' @export
predict.myclass <- function(object,...) { }


现在,当我加载程序包时, predict可以在类 myclass的对象上工作,但不会导出函数 predict.myclass。在NAMESPACE中,我仅获得条目 S3method(predict,myclass)。那么,还有一种方法可以导出 predict.myclass,以便用户在控制台中编写 predict.myclass时获得 predict.myclass的代码?

最佳答案

我的回答是“不要那样做”。用户可以methods(predict); getAnywhere('predict.myclass')mypackage:::predict.myclass。用户有一个学习曲线,但是掌握您的方法可以帮助用户浏览所有方法。不导出该方法的原因是,该方法不是要直接调用的,它会在搜索路径中造成不必要的符号(必须在提示符下键入的每个符号,例如ls(),都必须通过浏览对象来找到。 search()返回的所有环境以及像您这样的用户包都位于搜索开始和这些常用功能的名称解析之间)。

关于r - 如何导出S3方法以使其在 namespace 中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18512528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com