我有一个R6类,它具有data.table
作为属性。假设它看起来像这样:
library(R6)
library(data.table)
foo <- R6Class(
classname = 'foo',
public = list(
dt = NA,
initialize = function(dt) {
self$dt <- dt
}
)
)
set.seed(123)
dt <- data.table(col1 = rnorm(10), col2 = rnorm(10))
bar <- foo$new(dt)
我想这样做:
bar[<data.table stuff>]
做这个:
bar$dt[<data.table stuff>]
是否可以?
最佳答案
您可以为此使用S3类:
`[.foo` = function(x, ...) x$dt[...]
bar[col1 > 0]
# col1 col2
#1: 1.55870831 0.4007715
#2: 0.07050839 0.1106827
#3: 0.12928774 -0.5558411
#4: 1.71506499 1.7869131
#5: 0.46091621 0.4978505
关于r - 如何告诉R6类如何使用方括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33424233/