Question

J'écris une méthode S3 avec laquelle je veux travailler n'importe quel R objet R, y compris les objets S4.

La première chose que je ne comprends pas, c'est que les classes S4 ne semblent pas dériver d'une classe de base S4, donc donnée f <- function(x) UseMethod("f") Je ne peux pas simplement déclarer un f.S4 Déposez la méthode et demandez-elle de ramasser tous les objets S4. (Bien que si vous unclass un objet S4, il semble être donné en classe S4.) Comment dois-je gérer la répartition?

Il semble que le moyen le plus simple de gérer ces objets S4 serait de les convertir pour être des listes. Malheureusement, as.list Jette une erreur ("Aucune méthode pour contraindre cette classe S4 à un vecteur").

Ceci est mon objet Test S4:

library(gWidgetstcltk)
win <- gwindow()

Les fonctions S3Part et S3Class dans le methods Le forfait semblait prometteur, mais ils lancent tous les deux des erreurs lorsque je les utilise sur win. Donc, la question 2 est: existe-t-il un moyen général de convertir les objets S4 en listes?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top