Переопределение метода в программировании R6 OO - PullRequest
1 голос
/ 14 апреля 2019

Я использую пакет R6 для ОО-программирования в пакете, который я разрабатываю.Мой объект R6 хранит фрейм данных, а также другую информацию.Я хотел бы переопределить функцию data.frame () при вызове моего объекта R6, чтобы его сохраненный фрейм данных был возвращен.

Возможно ли это?

Например:

library(R6)

myobj <- R6Class("myobj", list(
  df = NULL,
  args = NULL,
  initialize = function(df, args=NULL) {
    self$df <- df
    self$args <- args
  },
  print = function(...) {
    cat("myobj: \n")
    cat("  df: ", nrow(self$df), " x ", ncol(self$df), "\n")
    invisible(self)
  },
  data.frame = function(...) {
    self$df
  }
))

print(myobj) # works
df <- data.frame(myobj) # does not work

Я прочитал документацию по R6, наверное, я запутался, как мы можем переопределить печать, но не другие функции, вызываемые для объектов R6.

...