我有一个简单的问题,可能会对这里的社区有所帮助。通常,在编写函数的上下文中,我想检查对象是否属于某个类。我有两种选择:我可以使用通用的is(object, class)
或可以使用更具体的功能,例如is.list()
,is.data.frame()
,is.array()
,is.numeric()
,{ {1}}等
考虑一下是否要测试对象是否为矩阵。 is.matrix()
和is(object, matrix)
之间有什么区别吗?是否应在某些情况下使用一种方法,例如检查参数是否为函数内的某个类?
is.matrix(object)
谢谢!
答案 0 :(得分:0)
一些基本的is.
函数是基元,而is
不是基元,但我不认为它们会产生不同的结果。从我可以看到,不同之处在于并非每个类都为此编写了一个is.
函数。如果您使用自己的类,is()
可以使用它们:
x = 1:3
is(x, 'numeric')
class(x) = 'wouldntyouliketoknow'
is(x, 'numeric')
is(x, 'wouldntyouliketoknow')