is.numeric
возвращает значение true, если базовый тип класса равен double
или integer
и когда значения можно разумно рассматривать как цифры c. (они должны иметь право на арифметические операции c и быть сопоставимыми по их базовому классу)
Для любых значений, заключенных в вектор, являющихся цифрами c, (целые и с плавающей запятой / десятичные значения) is.numeric
срабатывает как TRUE
.
, тогда как is.vector
проверяет класс вашего объекта, подпадает ли он под условия вектора. Векторы включают различные варианты, относящиеся к типу его содержимого, которое может быть numeric
(строго числа, включая десятичные значения) или character
или логическим (имеющим логические значения TRUE
или FALSE
), или вектор может быть необработанным или сложный. (Вы можете проверить тип вектора с помощью функции typeof()
)
Различие очевидно как для символьных значений, так и для логических значений в вашем векторе, is.numeric
вернет FALSE
в отличие от TRUE
для is.vector
.
Если бы вы тестировали то же самое для фреймов данных вместо векторов, вопрос возник бы между isNumeric
и is.data.frame
.