我是R的新手,我想知道是否有人可以解释is.vector()
和is.numeric()
之间的区别。
>is.numeric
是检查向量是否为数字的一般测试。仅当传递给它的对象是向量并且仅由数字数据组成时,它才会返回TRUE
。 而is.vector
测试对象是否为向量。如果传递的对象是向量,它将返回TRUE
。
>如果类的基类型是double
或integer
并且值可以合理地视为数字,则is.numeric
返回 true。(它们应该有资格进行算术运算,并且可以通过其基类进行比较(
对于包含在数字向量中的任何值,(整数和浮点/十进制值(is.numeric
触发器为TRUE
。
而is.vector
检查对象的类,它是否属于向量的条件。向量包括与其内容类型相关的不同变体,这些变体可以是numeric
的(严格意义上的数字,包括十进制值(或character
或逻辑(具有布尔值TRUE
或FALSE
(,或者向量也可以是原始的或复杂的。(您可以使用typeof()
函数检查矢量的类型(
对于向量中的字符值或布尔值,区别很明显,is.numeric
会返回FALSE
而不是is.vector
的TRUE
。
如果要对数据帧而不是向量进行测试,则问题会出现在isNumeric
和is.data.frame
之间。