Si se le da un objeto x
, ¿hay alguna manera de clasificar si es o no es S3
o (u "otro")? He mirado is.object()
y isS4()
, y puedo identificar que algo es un objeto (o no) y que es un objeto S4 (o no). Sin embargo, no me parece que los objetos S3 sean el complemento de todos los objetos que no son objetos S4.Distinguir mediante programación los objetos S3 y S4 en R
Por lo tanto, ¿cómo se pueden realizar estas asignaciones mediante programación?
Aquí es un ejemplo de algo que me molesta, tomados de la ayuda para is.object()
:
a = as.factor(1:3)
is.object(a) # TRUE
isS4(a) # FALSE
¿Quiere decir que a
es un objeto S3
?
Bueno, eso casi lo responde. :) – Iterator
Ahora creo que debería haber un 'isS3' en la línea de lo que sugieres con' any ...'. Tal como está, basar una asignación en la operación lógica '(A &! B)' no permite una 'C' que es mutuamente excluyente con cada uno de' A' y 'B' (por ejemplo, algún futuro" S5 " clase que no es ni S3 ni S4). Por ahora, esto funciona, pero siento que estoy caminando hacia un error de tipo Y2K. :( – Iterator