sign
вернет -1
, 0
и 1
для отрицательных чисел, нуля и положительных чисел соответственно. Мы можем использовать его для индексации символьного вектора соответственно.
npz <- function(x) {
c("Negative number", "Zero", "Positive Number")[sign(x) + 2]
}
test <- npz(c(-1, 2, 3, 0))
test
#[1] "Negative number" "Positive Number" "Positive Number" "Zero"