&引用;“用户”;R中R6类的构造函数
我正在学习如何使用R6类(通常是R OO) 在中,我发现了一种展示构造函数的有趣方式。 在第6.3节中,定义了一种不同类型的构造函数,它返回一个在函数内部调用了“new”的类实例 这类似于用一个函数初始化一个类对象来计算一些东西的行为,这对我的目的很有用 我想知道R6是否也可以做到这一点,如果可以,是否有资源可以让我学习如何正确地做到这一点 我在S4中的示例如下:&引用;“用户”;R中R6类的构造函数,r,r6,R,R6,我正在学习如何使用R6类(通常是R OO) 在中,我发现了一种展示构造函数的有趣方式。 在第6.3节中,定义了一种不同类型的构造函数,它返回一个在函数内部调用了“new”的类实例 这类似于用一个函数初始化一个类对象来计算一些东西的行为,这对我的目的很有用 我想知道R6是否也可以做到这一点,如果可以,是否有资源可以让我学习如何正确地做到这一点 我在S4中的示例如下: ERes <- setClass("ERes", representation = represe
ERes <- setClass("ERes",
representation = representation(
eTable = 'data.table',
eList = 'list'
)
)
setERes <- function(someData){
return(new(Class = 'ERes', eTable = table(someData), eList = as.list(someData)))
}
ERes由于R6
类实际上是环境,因此可以使用className$constructorName
来归档此结果
library(R6)
ERes <- R6Class(
"ERes",
public = list(
eTable = NULL,
eList = NULL,
initialize = function(eTable, eList){
self$eTable <- eTable
self$eList <- eList
}
)
)
ERes$userConstructor <- function(someData){
ERes$new(table(someData), as.list(someData))
}
myObject <- ERes$userConstructor(rpois(100, 5))
myObject$eTable
# someData
# 0 1 2 3 4 5 6 7 8 10
# 3 3 7 16 16 20 14 10 9 2
库(R6)
埃雷斯