是否有文献介绍如何在R中设置自己的方括号函数?

时间:2018-11-08 09:07:52

标签: r function generic-programming

我正在为自己的课堂写函数。 Hadley Wickham suggests来实现方括号功能,例如[[<-等的功能。但是如何做到这一点呢? 在r.user.05apr发表评论后,我设法写了

`[.test`  <- function(x, y){
  substr(x, start = y[1], stop = y[length(y)])
} 
foo <- "hello world"
class(foo) <- "test"
foo[2:5] #what correctly returns "ello"

我确实找到了sites on how they are called,但是没有解释和定义它们的例子。例如,对于我想提到的[<-函数,需要三个参数,一个是要操作的对象,一个索引是显示应替换对象的哪些元素,最后是替换。我设法得到

想要的结果
`[<-.test` <- function(obj, index, value){
  tmp <- unlist(strsplit(obj, ""))
  tmp[index] <- value
  return(paste(tmp, collapse = ""))
} 

foo <- "hello world"
class(foo) <- "test"
foo[c(2, 5)] <- "X"

,但仅在确定必须将第三个元素称为value之后才可以。因此,我正在寻找一部涵盖Wickham提到的方法的好文献,易于理解(Writing R Extensions不满足该标准;更像Creating R Packages by Friedrich Leisch)。

0 个答案:

没有答案