繁体   English   中英

如何在包中添加中缀函数?

[英]How to add an infix function to a package?

我想在包中添加一个中缀函数,但%%挑战了我。

我找到了此解决方案,但不幸的是,它没有解释应在哪里正确添加行export("%IN%") 这个问题上我也没有任何聪明。 由于问题已有五年之久,所以我决定提出一个新问题。

考虑与第一个链接的问题相同的功能。

"%IN%" <- function(x, table) x & match(x, table, nomatch = 0) > 0

我通常会根据这个粗略的模板向我的包中添加一个新函数,以编写<myfun>_function.R文件。

#' Title
#'
#' \code{%IN%} does this and that
#' @param x texttext    
#' @param table texttext
#' @return texttext
#' @export
#' @examples
#' 1:5 %IN% 1:3
"%IN%" <- function(x, table) x & match(x, table, nomatch = 0) > 0

因此,我将名为"`%IN%`_function.R"的文件保存到我的软件包目录XR文件夹中。

然后在setwd("./X")运行以下代码行

library(digest)
R.utils::reassignInPackage("digest", "digest", mydigest)
roxygen2::roxygenize()

(我从那里得到最mydigest )。

在终端的最后,我用R CMD build X创建包。

那么,究竟要在export("%IN%")行添加export("%IN%")行?

根据评论,诀窍是按以下顺序进行:

  1. 照常编写函数的*.R文件,并将其命名为任意
  2. 运行roxygenize()
  3. 在package文件夹中,通过手动添加行export("%IN%")编辑生成的NAMESPACE文件
  4. 在终端中运行R CMD build <package name>
  5. 也许更新版本号
  6. 安装

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM