Как заставить методы S3 работать с объектами S4?

Я пишу метод S3, с которым хочу работать любой объект R, включая объекты S4.

Первое, чего я не понимаю, это то, что классы S4 не являются производными от базового класса S4, поэтому, учитывая f <- function (x) UseMethod ("f") , я могу Не нужно просто объявить метод отправки f.S4 и заставить его собирать все объекты S4. (Хотя, если вы отменяете класс объекта S4, он, похоже, получает класс S4 .) Как мне управлять диспетчеризацией?

Кажется, что самый простой способ справиться с эти объекты S4 должны были преобразовать их в списки. К сожалению, as.list выдает ошибку («нет метода для принуждения этого класса S4 к вектору»).

Это мой тестовый объект S4:

library(gWidgetstcltk)
win <- gwindow()

Функции S3Part и S3Class в пакете methods выглядели многообещающими, но оба они выдают ошибки, когда я использую их в win . Итак, вопрос 2: есть ли общий способ преобразования объектов S4 в списки?

6
задан Richie Cotton 6 May 2011 в 14:47
поделиться