R 为包中的“[`和”[`定义方法时出现的问题

R 为包中的“[`和”[`定义方法时出现的问题,r,package,brackets,R,Package,Brackets,我有一个包的以下方法部分(代码本身并不重要): 改进的向量子集集 #' #“@param x a composer_vector” #“@param i用于子集的标准索引 #“@param…谓词子集设置函数按索引应用于自上而下的子集 #“@出口 #“@示例 #'vec这是因为函数没有在名称空间文件中导出。@export标记仅在运行devtools::document()时名称空间文件不存在的情况下,才会对您的名称空间文件提供帮助;如果您在document()时已经有了名称空间文件的情况下,',您

我有一个包的以下方法部分(代码本身并不重要):

改进的向量子集集 #' #“@param x a composer_vector” #“@param i用于子集的标准索引 #“@param…谓词子集设置函数按索引应用于自上而下的子集 #“@出口 #“@示例
#'vec这是因为函数没有在
名称空间
文件中导出。
@export
标记仅在运行
devtools::document()
名称空间
文件不存在的情况下,才会对您的
名称空间
文件提供帮助;如果您在
document()时已经有了
名称空间
文件的情况下,'
,您将收到警告

警告:现有的“命名空间”文件不是由roxygen2生成的, 并且不会被覆盖

您的
命名空间
具有

exportPattern("^[[:alpha:]]+")
这通常是很好的,因为通常您只有以字母开头的函数(要导出)。但是,这里您希望导出的函数以
[
开头,这是不行的。因此,如果您删除
名称空间
文件并重新运行
devtools::document(“composer/”)
,然后重新安装该软件包,将编写一个新的
名称空间
,以正确导出所有函数,包括提取方法:

# Generated by roxygen2: do not edit by hand

S3method("[",composer_vector)
S3method("[[",composer_vector)
export(..)
export(co)
export(compose2)
export(unco)
那么下面的方法就行了:

library(composer)

vec <- co("A hello", "B hi")
vec[,~startsWith(.,"A")]

# [1] "A hello"
# attr(,"class")
# [1] "composer_vector" "character"      

vec[startsWith ="A"]

# [1] "A hello"
# attr(,"class")
# [1] "composer_vector" "character"      
库(编写器)

vec因为data.table不使用RoxygenIs包源代码可公开访问,例如在GitHub repo中?我在GitHub上上载了所有内容,请参阅我编辑的question@Moody_Mudskipper很高兴它有帮助!
# Generated by roxygen2: do not edit by hand

S3method("[",composer_vector)
S3method("[[",composer_vector)
export(..)
export(co)
export(compose2)
export(unco)
library(composer)

vec <- co("A hello", "B hi")
vec[,~startsWith(.,"A")]

# [1] "A hello"
# attr(,"class")
# [1] "composer_vector" "character"      

vec[startsWith ="A"]

# [1] "A hello"
# attr(,"class")
# [1] "composer_vector" "character"