Pregunta

Estoy escribiendo un método S3 con el que quiero trabajar ningún R Objeto, incluidos los objetos S4.

Lo primero que no entiendo es que las clases S4 no parecen derivarse de una clase base S4, así que dada f <- function(x) UseMethod("f") No puedo simplemente declarar un f.S4 Método de envío y pídale que recoja todos los objetos S4. (Aunque si tu unclass un objeto S4, parece tener clase S4.) ¿Cómo debo administrar el despacho?

Parece que la forma más fácil de lidiar con estos objetos S4 sería convertirlos en listas. Desafortunadamente, as.list Lanza un error ("No hay método para coaccionar esta clase S4 a un vector").

Este es mi objeto de prueba S4:

library(gWidgetstcltk)
win <- gwindow()

Las funciones S3Part y S3Class en el methods El paquete parecía prometedor, pero ambos arrojan errores cuando los uso en win. Entonces, la pregunta 2 es: ¿Existe una forma general de convertir objetos S4 en listas?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top