is()和is。()函数之间的区别

时间:2020-01-03 19:48:46

标签: r

我有一个简单的问题,可能会对这里的社区有所帮助。通常,在编写函数的上下文中,我想检查对象是否属于某个类。我有两种选择:我可以使用通用的is(object, class)或可以使用更具体的功能,例如is.list()is.data.frame()is.array()is.numeric(),{ {1}}等

考虑一下是否要测试对象是否为矩阵。 is.matrix()is(object, matrix)之间有什么区别吗?是否应在某些情况下使用一种方法,例如检查参数是否为函数内的某个类?

is.matrix(object)

谢谢!

1 个答案:

答案 0 :(得分:0)

一些基本的is.函数是基元,而is不是基元,但我不认为它们会产生不同的结果。从我可以看到,不同之处在于并非每个类都为此编写了一个is.函数。如果您使用自己的类,is()可以使用它们:

x = 1:3
is(x, 'numeric')
class(x) = 'wouldntyouliketoknow'
is(x, 'numeric')
is(x, 'wouldntyouliketoknow')