2

引用类定义可能会在 R 中堆积相当多的代码行。当在引用类中定义方法时,几个方法加上字段定义会给你一个非常混乱的类定义——至少在 300 多行时很难阅读。我还有其他问题:

  • roxygen2文档并不像函数那样开箱即用。
  • 使用运算符的自动建议$适用于函数和函数列表,但不适用于 RC 中的方法,仅适用于字段名称
  • 我不认识你,我可以将方法定义拆分为多个文件。我的包的所有代码都驻留在包含类定义的 2 或 3 个文件中

所以用代码来说,为什么我不应该做这样的事情呢?

someDummy <- setRefClass("someDummy", fields = list(df = "matrix",
                                   multiplier = "numeric"))

test <- someDummy()


thingsYouCanDo <- function(){
 rc <- NULL
 mtrx <- NULL
 multi <- NULL
populate <- function(rc,mtrx,multi){
rc$df <- mtrx
rc$multiplier <- multi
}
multiply <- function(rc){
out <- rc$df * rc$multiplier
out
}
return(list(populate = populate,
         multiply = multiply))
}

te <- thingsYouCanDo()
te$populate(test,matrix(1:12,4,3),5)
test
te$multiply(test)

CRAN 上是否有任何使用 RC 并记录良好的编写良好的软件包?说到文档,我指的不是一个整洁的网站,而是基于 .Rd 的文档。我最近在其他人的源代码中看到的是包含函数或函数列表的函数。我应该使用它吗?

4

1 回答 1

1

我找到了我自己问题的部分答案:这些lme4包使用了相当多的 RC 类,并且还使用 .Rd 记录了它们

于 2013-09-27T10:08:30.687 回答