Здесь 'x' все еще имеет значения NA, и любая операция с NA вернет NA
. В соответствии с ?NA
Численные вычисления с использованием NA обычно приводят к NA: возможное исключение - то, где также участвует NaN, и в этом случае может произойти любой из них (который может зависеть от платформы R). Логические вычисления обрабатывают NA как отсутствующее значение TRUE / FALSE и поэтому могут возвращать TRUE или FALSE, если выражение не зависит от операнда NA.
x <- c(NA, 5, 10)
rng <- range(x, na.rm = TRUE, finite = TRUE)
x -rng[1]
[1] NA 0 5