У многих объектов R есть методы S3, связанные с ними. Например, каждый R-регрессионный учебник содержит примерно следующее:
dat <- data.frame(x=runif(10))
dat$y <- dat$x+runif(10)
my.lm <- lm( y~x, dat )
plot(my.lm)
Отображает регрессионную диагностику.
Аналогично, у меня есть объект S3 для пакета, который состоит из списка, который в основном содержит несколько временных рядов. У меня есть метод plot.myobject
для него, который входит в список, вытягивает временные ряды и выстраивает их на одном графике. Я хотел бы переписать это как функцию ggplot2, чтобы она была более красивой и, возможно, более расширяемой.
Поскольку этот пакет предназначен для быстрого и быстрого запуска людей, , я хотел бы, чтобы это был однострочный с одним аргументом, как в plot(myobject)
, ggplot(myobject)
, или что бы ни была подходящей версией. Затем, как только они зацепились, они могут узнать больше о ggplot2
и настроить график на их содержание в сердце.
Мой первоначальный соблазн состоял в том, чтобы просто заменить внутренности метода plot.myobject
на использование ggplot2. Это, однако, похоже, что это может потерять меня в главных точках стиля.
Это плохая идея, и если да, то почему и какую альтернативу я должен использовать?