问题
What is the preferred method of checking an object's class in R?
(1)
is.data.frame(df)
(2)
class(df) == 'data.frame'
(3)
'data.frame' %in% class(df)
回答1:
I would say
inherits(df,"data.frame")
or
is(df,"data.frame")
among other things, #2 in your list can fail because (as you suggest in #3) class(df)
can have length > 1. (is.data.frame
is nice, but not all classes have is.
methods: see methods("is")
)
回答2:
For me it'd be:
is.data.frame(df)
Is a clearer option to use in conditions. Also, is the 'less code' option of the three, if that is important for you.
来源:https://stackoverflow.com/questions/17733500/preferred-method-of-checking-objects-class-in-r