В чем разница между функциями is.vector () и is.numeri c ()? - PullRequest
1 голос
/ 25 января 2020

Я новичок в R, и мне интересно, если кто-то может объяснить разницу между is.vector() и is.numeric().

Ответы [ 2 ]

1 голос
/ 26 января 2020

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.

1 голос
/ 26 января 2020

is.numeric - это общий тест для проверки, является ли вектор цифрой c или нет. Он вернет TRUE, только если переданный ему объект является вектором и состоит только из цифр c данных. Принимая во внимание, что is.vector проверяет, является ли объект вектором или нет. Он вернет TRUE, если переданный объект является вектором.

...