Вы можете попробовать ifelse
, чтобы определить свою векторную пользовательскую функцию f
, например,
f <- Vectorize(function(x) ifelse(x>=0,sqrt(x),NA))
или
f <- function(x) suppressWarnings(ifelse(x>=0,sqrt(x),NA))
Пример
> f(c(-1,0,1,2,3))
[1] NA 0.000000 1.000000 1.414214 1.732051