pjv*_*aar 25 coding-style r typechecking
在R中检查对象类的首选方法是什么?
(1)
is.data.frame(df)
Run Code Online (Sandbox Code Playgroud)
(2)
class(df) == 'data.frame'
Run Code Online (Sandbox Code Playgroud)
(3)
'data.frame' %in% class(df)
Run Code Online (Sandbox Code Playgroud)
Ben*_*ker 26
我会说
inherits(df,"data.frame")
Run Code Online (Sandbox Code Playgroud)
要么
is(df,"data.frame")
Run Code Online (Sandbox Code Playgroud)
除此之外,列表中的#2可能会失败,因为(正如您在#3中建议的那样)class(df)长度> 1.(is.data.frame很好,但并非所有类都有is.方法:请参阅methods("is"))
对我来说是:
is.data.frame(df)
Run Code Online (Sandbox Code Playgroud)
是在条件下使用的更清晰的选项。另外,这三个选项中的“更少代码”选项是否对您很重要。