Я с удивлением узнал, что у R нет удобной функции, чтобы проверить, является ли число целым.
is.integer(66) # FALSE
is.integer(x)
не проверяет, еслиx
содержит целые числа! Для этого, используйтеround
, как в функцииis.wholenumber(x)
в примерах.
В примере эта пользовательская функция используется как "обходной путь"
is.wholenumber <- function(x, tol = .Machine$double.eps^0.5) abs(x - round(x)) < tol
is.wholenumber(1) # is TRUE
Если бы мне пришлось написать функцию для проверки целых чисел, считая, что я не читал вышеприведенные комментарии, я бы написал функцию, которая будет идти что-то вдоль строк
check.integer <- function(x) {
x == round(x)
}
Где мой подход провалится? Какова была бы ваша работа, если бы вы были в моих гипотетических ботинках?